【发布时间】:2021-09-07 19:39:29
【问题描述】:
我有一个脚本可以查看 G 列中的值,如果 A 列中的对应单元格为空,则给我发送一封电子邮件。
--- 工作原理--
- 它适用于静态值:它为 G 列中的每个非空单元格发送一封电子邮件,而 A 列中没有任何值
--- 什么不起作用--
- 当从另一个选项卡中获取 A 列值时,它会发送几封电子邮件,我认为它是每个 G 列单元格(无论是否为空)。这样一来,所有 G 和 A 单元格都有数据,所以我收到了多封不需要的电子邮件。
这是脚本代码:
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet to send emails');
const data = sh.getRange('A2:G'+sh.getLastRow()).getValues();
data.forEach(r=>{
let overdueValue = r[0];
if (overdueValue === ""){
let name = r[6];
let message = 'Text ' + name;
let subject = 'TEXT.'
MailApp.sendEmail('myemail@gmail.com', subject, message);
}
});
}
这是测试表的链接:
https://docs.google.com/spreadsheets/d/1OKQlm0PjEjDB7PXvt34Og2fa4vPZWnvLazTEawEtOXg/edit?usp=sharing
在这个测试用例中,我“应该”只收到一封与 ID 55555 相关的电子邮件。使用原样的脚本,我收到一封与 55555 相关的邮件,而其他几个“未定义”。
为避免电子邮件垃圾邮件,我没有将脚本添加到该工作表,但它显示了“Vlookup”的想法。
谁能帮帮我,好吗? 提前谢谢你
【问题讨论】: