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

如何在Gmail通知中加链接并在Sheets脚本中设置任意触发值?

优化后的Google Apps Script 实现第二列编辑触发邮件通知

以下是满足你需求的修改后脚本:

function sendMailEdit(e) {
  // 仅当第二列被编辑时执行后续逻辑
  if (e.range.columnStart !== 2) return;

  const activeSheet = e.source.getActiveSheet();
  // 获取当前编辑行的1-8列数据
  const rData = activeSheet.getRange(e.range.rowStart, 1, 1, 8).getValues()[0];
  
  const id = rData[4];
  const pro = rData[5];
  const tra = rData[6];
  const amo = rData[7];
  // 获取当前表格的链接
  const sheetUrl = e.source.getUrl();

  // 用模板字符串实现邮件内容分行,更易读
  const msg = `A new rollover request has been updated in the US - Sales spreadsheet:
- Account ID: ${id}
- Provider account: ${pro}
- Transfer from: ${tra}
- Transfer Amount: $${amo}

查看表格链接: ${sheetUrl}`;

  GmailApp.sendEmail("example@gmail.com", "New Rollover Request Updated", msg);
}

关键修改说明:

  1. 触发条件调整:
    移除了原脚本中对e.value !== "SALES"的判断,仅保留e.range.columnStart !== 2的校验——只要第二列(B列)被编辑就会触发邮件通知,不再限制编辑内容。

  2. 添加表格链接:
    通过e.source.getUrl()获取当前电子表格的完整链接,并将其插入到邮件内容末尾,方便收件人直接跳转查看。

  3. 邮件内容分行格式化:
    使用ES6模板字符串(反引号`包裹)替代原有的字符串拼接,通过换行和列表符号-让邮件内容结构更清晰,避免单句堆砌;同时调整了邮件主题,更准确反映是“更新”操作(因为现在只要编辑就触发,不一定是新增)。

另外,原脚本中定义的ss变量(获取RO工作表)未被使用,已直接移除冗余代码,让脚本更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 09:15:38