我知道正在发生的事情是设计使然,但我试图弄清楚人们如何处理这个问题 - 尝试了几种不同的方法,但我认为我没有以正确的方式思考它(我更像是一个 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);
}