如何使用Google App Script删除Google电子表格末尾的X个工作表
可用的Google App Script实现代码
以下代码完全匹配你提供的VBA逻辑,倒序删除末尾的工作表,不会出现索引错乱问题:
function DeleteLastSheets() { var spreadsheet = SpreadsheetApp.getActive(); var sheetList = spreadsheet.getSheets(); // 此处数值对应你VBA里的21,即保留前20个工作表,删除第21个及之后的所有工作表,可按需修改 var keepFirstNumber = 20; for (var x = sheetList.length - 1; x >= keepFirstNumber; x--) { spreadsheet.deleteSheet(sheetList[x]); } }
如果你需要固定删除末尾X个工作表,可以用下面的版本:
function DeleteLastXSheets() { var spreadsheet = SpreadsheetApp.getActive(); var sheetList = spreadsheet.getSheets(); // 此处修改为你要删除的末尾工作表数量 var deleteNumber = 10; // 避免删除数量超过总表数引发报错,至少保留1个工作表 var validDeleteNum = Math.min(deleteNumber, sheetList.length - 1); for (var i = 0; i < validDeleteNum; i++) { spreadsheet.deleteSheet(sheetList[sheetList.length - 1 - i]); } }
说明
- 代码执行时不需要额外设置关闭提醒,会直接删除工作表,建议先备份表格测试后再正式运行
- 两种版本分别适配「保留前N个删除后面所有」和「固定删除最后X个」两种场景,按需选用即可
内容的提问来源于stack exchange,提问作者No Name
相关产品推荐
相关产品推荐

