duplicateActiveSheet() 不适用于 getSheetByName()
duplicateActiveSheet() not working with getSheetByName()
我很容易做错事,但是当使用空白 sheet 和 Google 应用程序脚本来复制通过 getSheetByName()
获得的活动 sheet 时,我得到了类型错误。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
if (ss !== null) {
Logger.log(ss.getName()); // log: Sheet1
Logger.log(ss.getSheetName()); // log: Sheet1
Logger.log(SpreadsheetApp.getActiveSheet().getSheetName()); // log: Sheet1
ss.duplicateActiveSheet(); // TypeError: Cannot find function duplicateActiveSheet in object Sheet.
}
}
方法 duplicateActiveSheet()
是 spreadsheet method,不是 sheet 方法。
修改您的代码如下:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName('Sheet1');
if (sh !== null) {
sh.activate();// make this sheet active
Logger.log(sh.getName()); // log: Sheet1
ss.duplicateActiveSheet();
}
}
您可以使用脚本编辑器中的自动完成功能轻松避免此类错误。
只需在变量后键入一个句点 (.),您就会在键盘上使用 "control space" 看到所有可用的方法。
我很容易做错事,但是当使用空白 sheet 和 Google 应用程序脚本来复制通过 getSheetByName()
获得的活动 sheet 时,我得到了类型错误。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
if (ss !== null) {
Logger.log(ss.getName()); // log: Sheet1
Logger.log(ss.getSheetName()); // log: Sheet1
Logger.log(SpreadsheetApp.getActiveSheet().getSheetName()); // log: Sheet1
ss.duplicateActiveSheet(); // TypeError: Cannot find function duplicateActiveSheet in object Sheet.
}
}
方法 duplicateActiveSheet()
是 spreadsheet method,不是 sheet 方法。
修改您的代码如下:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName('Sheet1');
if (sh !== null) {
sh.activate();// make this sheet active
Logger.log(sh.getName()); // log: Sheet1
ss.duplicateActiveSheet();
}
}
您可以使用脚本编辑器中的自动完成功能轻松避免此类错误。
只需在变量后键入一个句点 (.),您就会在键盘上使用 "control space" 看到所有可用的方法。