【问题标题】:Send email from G-Sheets after 4 weeks4 周后从 G-Sheets 发送电子邮件
【发布时间】:2018-05-03 00:20:40
【问题描述】:

我正在使用 Google 表格,并尝试在指定日期 4 周后向自己发送一封电子邮件,其中包含从某个单元格中提取的电子邮件正文中的信息。单元格与日期所在的行 (Col Q) 位于同一行 (Col B)。我已经成功解决了时间问题,但是我无法从单元格中获取信息以进入电子邮件正文。

这是我的代码。

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getRange(9,17,31).getValues();
  var now = Date.now();
  for (var i = 0; i < data.length; i++) {
    var row = data[i];
    var date = new Date(row[0]);
    var remind_date = new Date(date.getTime() + 28 * 24 * 60 * 60 * 1000);
    var diff = now - remind_date;
    var case_name = row[2];
if ((diff >= 0) && (diff < 24 * 60 * 60 * 1000)) {
    GmailApp.sendEmail('myemail@me.com', 'Case Inquiry Reminder','Reminder, inquire about status of ', case_name);
    }

      }
}  

【问题讨论】:

  • 这个问题没有包含足够的细节。数据获得了什么价值?您收到错误消息吗?您是否尝试过调试器工具?见Troubleshooting
  • 大部分值是日期,'case_name' 是像“Johnson File”这样的文本字符串。我没有收到错误,信息只是没有显示在生成的电子邮件中。我一直在使用日志来检查返回的值,并将“case_name”列为“未确定”

标签: google-apps-script google-sheets gmail


【解决方案1】:

第一部分

在问题中提到日期在 Q 列上,但代码正在获取 A 列。

var date = new Date(row[0]);

也许正确的代码是

var date = new Date(row[16]);

虽然某些电子表格服务方法使用从 1 开始的索引,但 JavaScript 数组使用从零开始的索引。因此,Q 列的索引为 16。

第二部分

出于与前面提到的 JavaScript 索引相同的原因,正如您所说,您需要 B 列的值,而不是

var case_name = row[2];

代码应该是

var case_name = row[1];

参考

第三部分

下一行有问题

GmailApp.sendEmail('myemail@me.com', 'Case Inquiry Reminder','Reminder, inquire about status of ', case_name);

它使用了四个参数,但第四个的类型不正确。也许你打算写

GmailApp.sendEmail('myemail@me.com', 'Case Inquiry Reminder','Reminder, inquire about status of ' + case_name);

(将最后一个逗号 , 替换为加号 +

参考

sendEmail(recipient, subject, body, options)

【讨论】:

  • 感谢鲁本,这真的很有帮助。我发现第一部分只有在我没有数字索引的情况下才有效,比如var date = new Date(row); 我仍然无法收到电子邮件来引用 ColB 中的单元格,它总是以“未定义”的形式返回。有没有可能它不能引用我设置的第一个范围之外的任何东西 '.getrange(9,17,31);'我应该“得到”另一个范围吗?
  • @JohnB 没有更多细节我只能猜测发生了什么。例如,我不知道日期值是作为日期还是字符串。考虑创建一个演示电子表格,与知道链接的任何人共享,仅供查看,并将链接添加到问题中。
  • @JohnB 关于您评论中的问题,您是对的,您不能使用数组索引来引用数组中的任何内容,但我不明白这如何适用于 OP。
猜你喜欢
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-23
  • 2021-04-14
  • 2019-03-02
  • 2016-09-18
相关资源
最近更新 更多