Google 脚本 OnEdit - > 范围的电子邮件触发器会为每次编辑生成一封电子邮件



我知道正在发生的事情是设计使然,但我试图弄清楚人们如何处理这个问题 - 尝试了几种不同的方法,但我认为我没有以正确的方式思考它(我更像是一个 bash 脚本编写者:))。

我有一个 Google 表格,其中包含一个脚本,可以在一系列单元格上执行 onEdit:如果编辑了该范围内的任何单元格,则会发送电子邮件。 好!

现在,如果有人编辑,比如说该范围内的 5 个单元格,那么就会发送 5 封电子邮件。 不好!

所以似乎我需要一种方法让每个脚本运行"了解"彼此,并且仅在编辑第一个单元格后的一段时间后发送电子邮件?

我查看了这个线索,但设置标志会阻止其他编辑......https://developers.google.com/apps-script/articles/sending_emails#section2

不得不想象这是一件很常见的事情,但它不会来找我。

谢谢大家的任何想法,非常感谢刘

使用脚本属性服务保存时间戳。例如,下面的脚本每天只会发送电子邮件一次。

https://developers.google.com/apps-script/reference/properties/

var settings = PropertiesService.getScriptProperties();
var lastEditEmailDate = settings.getProperty('lastEditEmailDate');
var today = new Date().toDateString();
if (lastEditEmailDate != today) {
 /*send the email*/
 settings.setProperty('lastEditEmailDate', today);    
}

最新更新