【发布时间】:2019-07-03 22:16:53
【问题描述】:
我有一个 Google 插件,可以管理 Google 电子表格中的几张工作表。它所做的一件事是根据日期删除工作表,这是它删除的工作表的名称。在我当前的开发阶段,我还添加了删除包含日期和另一个术语的工作表的功能,例如,特别是 "script 6/5/2019"。
我使用的代码与以日期命名的工作表相同,并对其进行了一些调整,但在删除工作表时会返回错误:"Cannot find method deleteSheet(string)"
if(sRemove==true) {
SpreadsheetApp.getActiveSpreadsheet().toast('Finding Old Scripts', 'Status',3);
for (var i = ss.getNumSheets()-1; i >= 0; i--) {
var thisTab = ss.getSheets()[i].getName();
if(thisTab.substr(0,6) =="script") {
Logger.log(i+" "+thisTab+" is a script");
var tabDate = new Date(thisTab.substr(8));
//8 is the first digit of the date
Logger.log(tabDate);
var thisDate = new Date(todayDate);
var patt = new RegExp("s");
var res = patt.test(thisTab);
Logger.log(i+" "+res);
if(tabDate<thisDate && res==true) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
//ss.setActiveSheet(ss.getSheetByName(thisTab));
//ss.deleteActiveSheet(ss.getSheetByName(thisTab));
Logger.log(thisTab);
ss.deleteSheet(thisTab);
tabsGone++;
}
}
}
ui.alert(tabsGone+" Sheets Removed");
}
Logger.log返回要删除的工作表的正确名称,但删除工作表返回错误"Cannot find method deleteSheet(string)"
【问题讨论】:
标签: google-apps-script google-sheets