我在Google表格中有一个脚本,当列中的任何单元格发生更改时,该脚本都会发送一封电子邮件。 (这有效)但是,我想忽略单元格是否从“空白”更改为“值”。即仅当值从先前输入的值更改后才发送电子邮件。 -谢谢
更新: 我做了更多的工作,这是我想出的解决方案。它似乎有效。希望这会使其他人受益。在下面发布。
答案 0 :(得分:0)
这是我建议的答案。它已经在生产中进行了测试。
代码如下:
function sendNotificationCellChange(e) {
var ss = e.source;
var sheet = ss.getActiveSheet();
var range = e.range;
var oldvalue = e.oldValue;
var newvalue = e.value;
var recipients = "you@gmail.com" + "," + "me@gmail.com";
var cust_name = '';
var proj_num = '';
var subject = '';
var body = '';
if (range.getA1Notation().indexOf('K') != -1 && oldvalue !== undefined && newvalue !== undefined) {
cust_name = sheet.getRange('B'+ sheet.getActiveCell().getRowIndex()).getValue();
proj_num = sheet.getRange('C'+ sheet.getActiveCell().getRowIndex()).getValue();
var subject = 'Ship Date Has Changed: \"'+newvalue+'\" Customer: \"'+cust_name+'\" Project Number: "'+proj_num+'"';
MailApp.sendEmail(recipients, subject, body, {
name: 'Schedule',
noReply: 'true'
});
}
};