如何在Google Apps Script中编写指定工作表专属的onEdit函数
解决方案
修正后的代码可实现仅追踪指定工作表(Sheet1)的行修改时间,不会受其他工作表编辑操作的影响:
function onEdit(e) { // 获取当前被编辑的工作表 const activeSheet = e.range.getSheet(); // 仅对Sheet1的修改做出响应 if (activeSheet.getName() !== 'Sheet1') { return; } // 将修改时间写入当前行的I列 activeSheet.getRange('I' + e.range.rowStart) .setValue(new Date()) .setNumberFormat('DD/mm/yyyy HH:MM'); }
关键修改说明
- 新增
e.range.getSheet()获取实际被编辑的工作表,替代原代码中固定获取Sheet1的逻辑 - 通过判断工作表名称,确保只有编辑Sheet1时才执行后续的时间写入操作,其他工作表的修改会直接跳过函数剩余逻辑
- 后续写入操作直接使用
activeSheet变量,逻辑更连贯,避免重复获取工作表
这样修改后,只有在Sheet1内修改行数据时,对应行的I列才会更新修改时间;编辑Sheet2或其他工作表时,不会对Sheet1的内容产生任何影响。
内容的提问来源于stack exchange,提问作者Jarne
相关产品推荐
相关产品推荐

