Google Sheets单元格触发邮件通知问题:C6≥4时未收到邮件
修复Google Sheets单元格阈值触发邮件脚本
原脚本存在的问题
- 单元格匹配大小写错误:原脚本判断
cell=='c6',但Google Sheets的A1表示法中单元格标识是大写C6,导致条件始终不成立。 - 未配置自动触发器:
sheetTracker()仅手动运行时生效,无法自动监控单元格修改操作。 - 单元格获取方式不合理:
getActiveCell()在自动触发场景下无法准确指向修改的单元格,应使用触发器事件对象。 - 用户判断限制过严:原条件排除了指定用户的操作,若该用户修改C6到阈值以上,不会触发邮件。
修复后的脚本
function onEdit(e) { // 获取修改的单元格A1标识 var cellA1 = e.range.getA1Notation(); // 只处理C6单元格的修改 if (cellA1 !== 'C6') return; // 转换单元格值为数字类型 var cellValue = Number(e.range.getValue()); // 当数值≥4时发送邮件 if (cellValue >= 4) { var editor = Session.getActiveUser() || '匿名用户'; MailApp.sendEmail( 'yourmail@gmail.com', '表格单元格修改提醒', `单元格 ${cellA1} 已被 ${editor} 修改,新值为:${cellValue}` ); } }
使用说明
- 打开目标Google Sheets,点击「扩展程序」→「Apps脚本」,替换原代码为上述修复后的代码。
- 保存脚本(可自定义命名,比如
SheetThresholdAlert),关闭脚本编辑器。 - 当C6单元格被修改为≥4的数值时,脚本会自动触发邮件发送。
- 首次触发时需完成脚本权限授权(允许访问表格和发送邮件)。
内容的提问来源于stack exchange,提问作者boyd maher
相关产品推荐
相关产品推荐

