我得到了這段代碼,它使我成為一個新作業表,其中新作業表的名稱基于名為問卷“C1”的作業表中的值。制作此新作業表后,我想復制問卷“A1:B16”中的內容并粘貼到此新作業表“A1:B16”中。我將為許多不同的新作業表名稱執行此操作,因此最終代碼每次都必須適應新的作業表名稱。
function GenerateName() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var newSheet = sheet.getRange("C1").getValue();
sheet.insertSheet(newSheet);
}
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您想從作業表“問卷”的單元格“C1”中檢索值,并希望使用檢索到的值插入新作業表。
- 您想從“問卷”表中的“A1:B16”檢索值到插入的具有相同范圍的新表。
在這種情況下,以下修改后的腳本如何?
修改后的腳本:
function GenerateName() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Questionnaire");
var newSheetName = sheet.getRange("C1").getValue();
var newSheet = ss.insertSheet(newSheetName);
sheet.getRange("A1:B16").copyTo(newSheet.getRange("A1"), { contentsOnly: true });
}
- 如果不僅要復制值還要復制單元格樣式,請修改
sheet.getRange("A1:B16").copyTo(newSheet.getRange("A1"), { contentsOnly: true });為sheet.getRange("A1:B16").copyTo(newSheet.getRange("A1"));.
參考:
獲取檔案路徑的輔助函式:
function getPath(id) { try { var file = DriveApp.getFileById(id) var pA = []; pA.push(file.getName()); var folder = file.getParents(); while (folder.hasNext()) { var f = folder.next(); pA.push(f.getName()); folder = f.getParents() } var r = pA.reverse().join(' / '); } catch (e) { return e; } return r; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/355740.html上一篇:使用包含某些單詞的云端硬碟中的Google檔案填充Google表格
下一篇:洗掉谷歌作業表上過時條目的代碼
