如何修改Google Apps Script删除脚本,自动保留指定前缀备份表?
解决方案:自动保留指定前缀的备份工作表
当然可以实现自动保留以「Backup Test」开头的备份表,不用每次手动修改脚本。你只需要把原来的switch-case逻辑替换成字符串前缀判断+固定表名匹配的组合条件即可,具体修改如下:
修改后的完整脚本
function cleanAndResetSheets() { const activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const allSheets = activeSpreadsheet.getSheets(); // 定义需要固定保留的工作表名称 const fixedKeepSheets = ["roster", "template", "Test"]; allSheets.forEach(sheet => { const sheetName = sheet.getName(); // 核心判断:要么是固定保留表,要么是以"Backup Test"开头的备份表 const needKeep = fixedKeepSheets.includes(sheetName) || sheetName.startsWith("Backup Test"); if (!needKeep) { activeSpreadsheet.deleteSheet(sheet); } }); }
关键逻辑说明
- 用
fixedKeepSheets数组存储需要固定保留的表名,方便后续统一维护 - 通过
sheetName.startsWith("Backup Test")自动识别所有以指定前缀开头的备份表,不管后面跟着什么日期后缀都能匹配 - 只要满足「固定保留表」或「备份前缀表」任一条件,就跳过删除操作,否则删除该工作表
这样之后,你新增的任何「Backup Test (xxxx-xx-xx)」格式的备份表都会被自动保留,不用再手动修改脚本了。
内容的提问来源于stack exchange,提问作者Tim Welch
相关产品推荐
相关产品推荐

