如何让Google Sheets脚本仅作用于指定工作表而非全部?
解决Google Sheets onEdit脚本仅作用于指定工作表的问题
修改思路
原脚本没有对编辑操作所在的工作表做校验,所以会在所有工作表触发逻辑。只需在条件判断中添加工作表名称匹配的规则,就能限制脚本仅在目标工作表内生效。
修改后的代码示例
把下面的"目标工作表"替换成你实际需要指定的工作表名称即可:
function onEdit(e) { // 获取触发编辑事件的工作表对象 const sheet = e.range.getSheet(); // 定义要生效的目标工作表名称 const targetSheetName = "目标工作表"; const row = e.range.getRow(); const col = e.range.getColumn(); // 同时满足两个条件才执行后续逻辑:在指定工作表内 + 编辑的是第6列 if (sheet.getName() === targetSheetName && col === 6) { // 在当前编辑行的第7列写入当前日期 sheet.getRange(row, 7).setValue(new Date()); } }
关键细节说明
e.range.getSheet():精准获取触发编辑事件的工作表,比e.source.getActiveSheet()更可靠,避免因手动切换工作表导致的判断偏差sheet.getName() === targetSheetName:新增的核心校验规则,确保只有在指定名称的工作表内编辑时,才会执行日期写入逻辑
内容的提问来源于stack exchange,提问作者Joshua Turner
相关产品推荐
相关产品推荐

