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

如何在AppScript动态邮件中引用单元格数据作为收件人?

在Google Apps Script邮件脚本中动态引用单元格作为收件人

你当前代码里的to: 'b9'只是将字符串'b9'作为收件人,无法实现动态获取单元格数据的需求。以下是具体的修改方案:

关键修改说明

  1. 复用已定义的ss变量,避免重复调用SpreadsheetApp.getActiveSpreadsheet(),提升脚本执行效率
  2. 通过getRange("B9").getValue()读取指定单元格的邮箱地址(注意单元格列标识为大写B,与表格列对应)
  3. 补充原脚本缺失的邮件发送代码MailApp.sendEmail(message),否则脚本只会构建邮件对象,不会实际发送

修改后的完整代码

function Email() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const emailSheet = ss.getSheetByName("Email");
  
  // 读取Email工作表中B9单元格的收件人邮箱
  const recipientEmail = emailSheet.getRange("B9").getValue();
  
  const message = {
    to: recipientEmail, // 动态引用单元格数据
    cc: "email@sampleemail.com",
    subject: "Test Email",
    body: "Hi,\n\nPls review this email.\n\nThank you,\nKate",
    name: "Kate",
    attachments: [ss.getAs(MimeType.PDF).setName("Email Subject")]
  };
  
  // 执行邮件发送
  MailApp.sendEmail(message);
}

拓展提示

  • 若单元格包含多个收件人,用英文逗号分隔邮箱地址即可,MailApp.sendEmail()会自动识别并发送给所有收件人
  • 如需批量读取多行收件人,可使用getRange(2, 2, 10, 1).getValues()(示例:读取第2行到第11行的B列数据),再将二维数组转换为逗号分隔的字符串:recipientList.flat().join(", ")
  • 确保单元格内的邮箱格式正确,否则会导致邮件发送失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 20:12:18