Google Sheets脚本开发:编辑Col10-Col12时自动发送Col3值邮件
Google Sheets 编辑触发邮件脚本实现
需求说明
- 当同一行的Col10(第10列)至Col12(第12列)单元格被编辑时,自动发送包含对应Col3值的邮件
- 附加规则:若Col10已填写内容,编辑Col11或Col12时不触发邮件
完整实现脚本
// 配置项:请替换为你的实际信息 const ADMIN_EMAIL = '你的收件邮箱@example.com'; const EMAIL_SUBJECT = 'Col3值通知'; function onEdit(e) { const sheet = e.source.getActiveSheet(); const editedRange = e.range; const row = editedRange.getRow(); const col = editedRange.getColumn(); // 跳过表头行(假设表头在第1行,若表头行数不同请修改此值) if (row <= 1) return; // 仅处理Col10-Col12的编辑操作 if (col < 10 || col > 12) return; // 附加规则:编辑Col11/12时,若Col10已有内容则终止触发 if ((col === 11 || col === 12)) { const col10Value = sheet.getRange(row, 10).getValue(); if (col10Value !== '') return; } // 获取对应行的Col3值 const col3Value = sheet.getRange(row, 3).getValue(); if (!col3Value) { SpreadsheetApp.getUi().alert('Col3为空,无法发送邮件'); return; } // 发送邮件 try { MailApp.sendEmail({ to: ADMIN_EMAIL, subject: EMAIL_SUBJECT, body: `Col3的值为:${col3Value}` }); SpreadsheetApp.getUi().alert('邮件已成功发送'); } catch (error) { SpreadsheetApp.getUi().alert(`邮件发送失败:${error.message}`); } }
脚本说明
- 配置项:开头的
ADMIN_EMAIL和EMAIL_SUBJECT需替换为你的收件邮箱和自定义邮件主题 - 触发判断:
- 自动跳过表头行,避免误触发
- 仅响应Col10-Col12的编辑操作
- 严格执行附加规则,防止重复触发
- 邮件逻辑:仅提取Col3的值作为邮件内容,发送给指定收件人,操作结果会通过弹窗提示
设置步骤
- 打开目标Google Sheets文档
- 点击顶部菜单栏「扩展程序」→「Apps脚本」
- 删除默认代码,粘贴上述脚本
- 修改
ADMIN_EMAIL为实际收件邮箱 - 点击「保存」,为脚本命名(如"EditTriggerEmail")
- 创建可安装触发器(因简单触发无法调用邮件服务):
- 点击左侧「触发器」图标(时钟形状)
- 点击「添加触发器」
- 配置选项:
- 运行函数:
onEdit - 部署类型:
Head - 事件源:
从电子表格 - 事件类型:
编辑时
- 运行函数:
- 点击「保存」,按提示完成权限授权
内容的提问来源于stack exchange,提问作者dexi
相关产品推荐
相关产品推荐

