如何通过Google Apps Script实现Google Sheets B列编辑时发邮件至对应行D列邮箱
实现Google Sheets编辑B列时自动发送邮件到对应行D列邮箱
步骤1:打开Google Apps Script编辑器
打开目标Google Sheets表格,点击顶部菜单栏的「扩展程序」>「Apps Script」,进入脚本编辑界面。
步骤2:编写核心代码
清空编辑器默认代码,粘贴以下脚本:
function onEdit(e) { // 仅响应B列(列索引为2)的编辑操作 if (e.range.getColumn() !== 2) return; const activeSheet = e.source.getActiveSheet(); const editedRow = e.range.getRow(); // 获取当前行D列(列索引为4)的收件人邮箱 const recipientEmail = activeSheet.getRange(editedRow, 4).getValue(); // 校验邮箱是否为空 if (!recipientEmail) { SpreadsheetApp.getUi().alert(`第${editedRow}行D列未填写邮箱,无法发送邮件`); return; } // 自定义邮件主题和内容 const emailSubject = "表格B列内容已更新"; const emailBody = `通知:表格第${editedRow}行的B列内容已被编辑,新内容为:${e.value}`; try { // 发送邮件 MailApp.sendEmail(recipientEmail, emailSubject, emailBody); SpreadsheetApp.getUi().alert(`邮件已成功发送至:${recipientEmail}`); } catch (err) { SpreadsheetApp.getUi().alert(`邮件发送失败:${err.message}`); } }
步骤3:完成权限授权
第一次运行脚本需授权:
- 点击脚本编辑器顶部「运行」按钮,选择
onEdit函数。 - 登录Google账号后,在授权页面点击「高级」>「转到[你的脚本名称]」,允许脚本访问表格数据和发送邮件的权限。
步骤4:测试功能
返回Google Sheets表格,编辑任意一行的B列单元格,系统会自动读取对应行D列的邮箱并发送邮件,同时弹出提示框告知发送结果。
注意事项
onEdit是简单触发器,无需手动设置触发条件,但有30秒执行时间限制;若需处理复杂逻辑,建议改用「可安装触发器」(在脚本编辑器「触发器」面板创建,选择「编辑时」触发)。- 确保D列邮箱格式正确,否则会触发发送失败提示。
- Google Apps Script有邮件发送配额限制,普通账户每天最多发送100封邮件,超出配额会暂时无法发送。
内容的提问来源于stack exchange,提问作者Revan Mardagh
相关产品推荐
相关产品推荐

