Google Sheets 获取标签名生成列表时排除指定标签的脚本修改问题
调整方案
你可以在获取工作表名称的逻辑中增加过滤步骤,提前定义需要排除的工作表名称数组,过滤掉匹配项即可实现需求,原有触发器创建逻辑无需修改。
调整后的完整脚本如下:
function createOnChangeTrigger() { const ss = SpreadsheetApp.getActive(); ScriptApp.newTrigger("writeSheetNames") .forSpreadsheet(ss) .onChange() .create(); } function writeSheetNames() { // 此处填入你需要排除的4个工作表准确名称,可按需增减数量 const EXCLUDED_SHEETS = ["排除表1", "排除表2", "排除表3", "排除表4"]; const ss = SpreadsheetApp.getActive(); // 增加filter过滤逻辑,排除指定名称的工作表 const sheetNames = ss.getSheets() .filter(sheet => !EXCLUDED_SHEETS.includes(sheet.getName())) .map(sheet => [sheet.getName()]); const sheet = ss.getSheetByName("Sheet24"); sheet.getRange("A:A").clear(); // 删除原有数据 sheet.getRange(1,1,sheetNames.length).setValues(sheetNames); }
注意事项
- 请将
EXCLUDED_SHEETS数组内的示例名称替换为你实际需要排除的工作表的准确名称,名称匹配区分大小写 - 已经创建过的触发器不需要重复执行
createOnChangeTrigger生成,直接修改writeSheetNames逻辑即可生效
内容的提问来源于stack exchange,提问作者jbaker
相关产品推荐
相关产品推荐

