У меня есть надстройка 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)"