Google Scripts新手求助:单元格值变化时自动发送指定内容邮件
嘿,作为Google Apps Script新手能想到用脚本来实现自动发邮件已经超棒啦!我来帮你把这个需求落地,直接给你完整的可运行代码,再一步步讲清楚怎么操作~
完整实现代码
function sendAlertWhenValueExceedsZero(e) { // 获取编辑事件的相关信息 const range = e.range; const sheet = range.getSheet(); const editedColumn = range.getColumn(); const editedRow = range.getRow(); const cellValue = range.getValue(); // 只处理I列(第9列)的单元格,且排除表头行(假设表头在第1行) if (editedColumn === 9 && editedRow > 1) { // 判断单元格数值是否大于0 if (typeof cellValue === 'number' && cellValue > 0) { // 获取同行F列(第6列)的内容 const messageContent = sheet.getRange(editedRow, 6).getValue(); // 配置邮件信息 const recipient = '你的收件邮箱地址@xxx.com'; // 替换成实际收件邮箱 const subject = '【数值提醒】检测到大于0的数值'; const body = `检测到I列第${editedRow}行数值大于0,对应F列内容:\n${messageContent}`; // 发送邮件 MailApp.sendEmail(recipient, subject, body); Logger.log('邮件已成功发送'); } } }
关键步骤说明
- 替换邮箱地址:把代码里的
你的收件邮箱地址@xxx.com改成你实际要接收邮件的邮箱。 - 设置可安装触发器:因为发邮件需要授权,简单的
onEdit触发器无法完成,所以得手动创建可安装触发器:- 打开你的Google表格,点击顶部菜单栏的「扩展程序」→「Apps脚本」
- 在脚本编辑器里粘贴上面的代码,保存项目(随便起个名字就行)
- 点击左侧「触发器」图标(时钟形状),然后点击「添加触发器」
- 配置触发器参数:
- 选择要运行的函数:
sendAlertWhenValueExceedsZero - 选择部署类型:「头像」(即你的账号)
- 选择事件源:「从电子表格」
- 选择事件类型:「编辑时」
- 点击「保存」,然后按照提示完成授权(授权时可能会提示“未经验证的应用”,点击「高级」→「前往xxx项目」即可完成)
- 选择要运行的函数:
注意事项
- 第一次运行触发器或者手动测试函数时,需要完成Google的授权验证,这是正常的安全流程,放心授权就行。
- 如果你的表头不在第1行,可以修改代码里的
editedRow > 1为对应的表头行号+1(比如表头在第2行,就改成editedRow > 2)。 - 确保单元格里的数值是数字类型,不是文本格式的数字,否则
typeof cellValue === 'number'会过滤掉这种情况,如果需要兼容文本格式的数字,可以改成Number(cellValue) > 0,但要注意处理非数字的内容。
内容的提问来源于stack exchange,提问作者serman
相关产品推荐
相关产品推荐

