【发布时间】:2020-12-17 02:39:44
【问题描述】:
我是一个新手,一直在使用一个简单的应用脚本来发送带有触发器 onEdit 和 onChange 的电子邮件。但是,我的工作表有十多张,并且任何一张表中的任何编辑/更改(由我或通过计算完成)都会发送一封电子邮件,从而导致意外的垃圾邮件!为避免这种情况,如果我可以使用一些代码仅根据对特定单元格值的任何更改在特定工作表中发送电子邮件,我的问题将得到解决。我的外发电子邮件信息很短,整个信息都在一个单元格 (C2) 中。如果我可以添加一行代码来监视该单元格 C2 中的任何更改,并在有更改时发送一封电子邮件,就是这样!我就完了。我的脚本如下:
function sendEmail(){
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet1=ss.getSheetByName('Email');
var emailAddress = sheet1.getRange(2,1).getValue();
var subject = sheet1.getRange(2,2).getValue();
var message = sheet1.getRange(2,3).getValue();
MailApp.sendEmail(emailAddress, subject, message);
}
【问题讨论】:
-
onEdit 触发器响应的唯一更改是用户编辑,是的,您应该在 onEdit 函数中添加逻辑以将其操作限制在给定的工作表中。仔细查看事件对象,它会为您提供有关触发事件的大量信息。尝试使用
Logger.log(JSON.stringify(e));那里的信息比他们在文档中讨论的要多。
标签: google-apps-script google-sheets triggers