Javascript 删除Google脚本中除指定工作表以外的所有工作表
我正在尝试删除所有工作表,除了指定的工作表(输入、模板、摘要)。对JS来说非常新,所以我确信它已经过时了:Javascript 删除Google脚本中除指定工作表以外的所有工作表,javascript,google-sheets,Javascript,Google Sheets,我正在尝试删除所有工作表,除了指定的工作表(输入、模板、摘要)。对JS来说非常新,所以我确信它已经过时了: //Delete sheets that are not named 'Input', 'Template', and 'Summary' function deleteRedundantSheets() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var
//Delete sheets that are not named 'Input', 'Template', and 'Summary'
function deleteRedundantSheets() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (i = 0; i <= sheets.length; i++) {
switch(sheets[i]) {
case sheet.getSheetName() === "INPUT":
break;
case sheet.getSheetName() === "Template":
break;
case sheet.getSheetName() === "SUMMARY":
break;
default:
ss.setActiveSheet(sheet[i]);
ss.deleteActiveSheet;
}
}
}
//删除未命名为“输入”、“模板”和“摘要”的工作表
函数deleteRedundantSheets(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheets()[0];
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();
对于(i=0;i
将activesheetsheets
分配给变量后,可以使用该引用。在代码中var sheets=SpreadsheetApp.getactivesheets().getSheets();
可以替换为var sheets=ss.getSheets();
作为变量ss
包含对活动电子表格的引用
返回一个工作表数组。因此,当您编写var sheet=ss.getSheets()[0];
时,实际上是在变量sheet
中分配数组的第一个元素。因此在情况下
语句中,您总是引用同一个工作表。因此,不要使用sheet.getSheetName()==“INPUT”
,您应该使用工作表[i]。getSheetName()=“输入”
要删除工作表,您也可以使用该功能。这是最近在Google脚本中添加的
下面是您可以使用的修改后的代码(我还没有测试过,但您应该明白这一点)
函数deleteRedundantSheets(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheets=ss.getSheets();
对于(i=0;i
非常感谢。我在你的代码中遇到了错误,但我必须做的是将第3行更改为:var sheets=ss.getSheets()[0];Naah,不要这样做……这样你只是在引用第一张表……如果你使用Browser.msgBox(sheets.length);
在for循环之前,您会看到值未定义。错误是因为如果以i=0开头,那么如果使用
function deleteRedundantSheets() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
for (i = 0; i < sheets.length; i++) {
switch(sheets[i].getSheetName()) {
case "INPUT":
case "Template":
case "SUMMARY":
break;
default:
ss.deleteSheet(sheets[i]);
}
}
}