You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Sheets单元格下拉选择触发向特定人员自动发送邮件

实现Google Sheet下拉选择触发自动发邮件的操作方案

一、前置准备

先确认你的下拉选项所在的工作表名称、下拉选项所在的列号(比如下拉在C列就是第3列),提前准备好接收提醒的目标邮箱。

二、具体操作步骤

  1. 打开你的Google Sheet,点击顶部菜单栏的「扩展程序」>「Apps Script」,进入脚本编辑页面
  2. 删除脚本编辑器中默认的myFunction相关代码,粘贴下方提供的完整代码
  3. 按照注释修改代码中的自定义配置项,修改完成后点击保存按钮,给项目随便起个名字保存
  4. 点击左侧菜单栏的「触发器」按钮,点击「添加触发器」,按以下参数配置:
    • 选择要运行的函数:sendAlertOnSelect
    • 选择事件来源:电子表格
    • 选择事件类型:编辑
    • 其余参数保持默认,点击保存,按照弹窗提示完成Google账号授权即可

三、可直接使用的代码

function sendAlertOnSelect(e) {
  // ---------- 以下是你需要修改的配置项 ----------
  const TARGET_EMAIL = "你的收件邮箱@xxx.com"; // 替换成实际要接收提醒的邮箱
  const SHEET_NAME = "Sheet1"; // 替换成你的下拉选项所在的工作表名称,注意区分大小写
  const DROPDOWN_COLUMN = 3; // 替换成你的下拉选项所在的列号,A列是1、B列是2以此类推
  const TRIGGER_VALUE = "我不理解,能否为我提供更多信息?"; // 如果你的下拉选项文本有修改,这里对应改
  // ---------- 配置项结束,以下内容不用修改 ----------

  // 获取当前编辑的单元格信息
  const range = e.range;
  const sheet = range.getSheet();
  // 校验是否是目标工作表的目标列的编辑操作
  if (sheet.getName() !== SHEET_NAME || range.columnStart !== DROPDOWN_COLUMN) return;
  // 校验选中的值是否是需要触发邮件的选项
  const selectValue = range.getValue();
  if (selectValue !== TRIGGER_VALUE) return;

  // 构造邮件内容
  const rowNum = range.getRow();
  const employeeName = sheet.getRange(rowNum, 2).getValue(); // 这里默认员工姓名在B列,你可以自己改列号
  const emailSubject = `简报阅读疑问提醒:第${rowNum}行员工提交了疑问申请`;
  const emailBody = `
员工姓名:${employeeName}
所在行号:${rowNum}
提交的选项:${selectValue}
可点击以下链接查看表格:${sheet.getParent().getUrl()}
  `;

  // 发送邮件
  MailApp.sendEmail(TARGET_EMAIL, emailSubject, emailBody);
}

四、常见报错解决

如果你之前测试出现报错,逐一排查以下原因即可:

  • 配置项里的工作表名称和实际工作表名称不一致,注意大小写、空格都要完全匹配
  • 下拉列号填错,比如下拉在D列却填了3,注意A列对应1的计数规则
  • 触发值的文本和下拉选项的文本不一致,哪怕多一个空格都不会触发,可以直接复制你的下拉选项文本粘贴到代码里
  • 第一次运行没有完成授权,或者授权的时候选了错误的Google账号,建议删除原有触发器重新添加并授权

内容的提问来源于stack exchange,提问作者Chris Eastup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 12:57:02