如何修改Google脚本:从指定工作表改为排除特定工作表执行
修改Google脚本:排除特定工作表执行邮件提醒
以下是修改后的完整代码,实现排除指定工作表("Template"、"Tracker"、"ExampleSheet")执行邮件提醒的功能:
function feedbackAlert() { const dt = new Date(); const dtv = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()).valueOf(); const ss = SpreadsheetApp.getActive(); // 定义需要排除的工作表名称 const excludedSheets = ['Template', 'Tracker', 'ExampleSheet']; // 获取所有工作表并过滤掉排除列表中的表 const shts = ss.getSheets().filter(sh => !excludedSheets.includes(sh.getName())); const sr = 14; const numRows = 100; shts.forEach(sh => { var arr = []; var vs = sh.getRange(sr, 1, numRows, sh.getLastColumn()).getValues(); var pn = sh.getRange("C5").getValue(); vs.forEach((r, u) => { let ddt = new Date(r[5]); let ddtv = new Date(ddt.getFullYear(), ddt.getMonth(), ddt.getDate()).valueOf() let ddtF = Utilities.formatDate(ddt, 'ET', 'MM/dd/yyyy'); let message = `Feeback is due: ${pn} Name: ${r[1]} Formula #: ${r[2]} Feedback due date: ${ddtF} ` if (ddtv == dtv) { arr.push(message); } }); if (arr && arr.length > 0) { MailApp.sendEmail('[EMAIL]', `Feedback is Due: ${pn}` , arr.join("\n")) Logger.log('NPD Feedback Alert!'); } }); }
关键修改说明:
- 新增
excludedSheets数组:存放需要排除的工作表名称,直接在这里添加或删除要排除的表名即可。 - 替换工作表获取逻辑:用
ss.getSheets()获取当前表格的所有工作表,再通过filter方法筛选出不在排除列表中的工作表。 - 调整遍历对象:原来遍历的是工作表名称,现在直接遍历工作表对象,无需再通过名称获取工作表,简化了代码逻辑。
内容的提问来源于stack exchange,提问作者Shiki
相关产品推荐
相关产品推荐

