當我使用 copyTo 運行代碼時,如下所示:
var destination = SpreadsheetApp.openById('ID_GOES HERE');
sheet.copyTo(destination);
該作業表出現在目標電子表格中就好了,但選項卡名稱添加了“副本”并顯示為檔案中的最后一個選項卡。有沒有辦法使用“copyTo”,以便我也可以將它設為索引 0 并給它一個新名稱?或者我必須添加額外的代碼來重新索引和重命名?
謝謝!
uj5u.com熱心網友回復:
這是完整的實作:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var destination = SpreadsheetApp.openById('###'); // <-- destination sheet ID
var copied_sheet = sheet.copyTo(destination);
copied_sheet.setName(sheet.getName()); // get a name from original sheet
copied_sheet.activate();
destination.moveActiveSheet(1); // move the copied sheet in first position
}
但是您需要確保目標電子表格已經沒有同名的作業表。這就是 SpreadsheetApp 將“復制”添加到原始名稱的原因。
參考:
- 電子表格.moveActiveSheet()
- sheet.copyTo()
uj5u.com熱心網友回復:
要隨意重命名新作業表,您只需設定一個新名稱即可。例如,我制作了這個功能,它允許您通過對話框重命名活動作業表。
你可以從你的 copyTo 函式內部呼叫這個函式,或者調整它以配合它。
function sheetRename() {
var spreadsheet = SpreadsheetApp.getActive(); //you can set to get spreadsheet by URL or ID
var sheet = spreadsheet.getActiveSheet(); //same as above
var newName = Browser.inputBox("New Sheet Name","Input new sheet name",Browser.Buttons.OK_CANCEL); //creates a dialog box asking for a new name input
sheet.setName(newName); //renames your sheet
};
至于索引,我不確定如何去做,但我相信它是可行的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/365206.html
上一篇:Google表格-如果單元格滿足特定條件,如何連接來自不同行和列的值
下一篇:谷歌表中的唯一總和
