谷歌脚本onedit - >范围的电子邮件触发器为每个编辑生成电子邮件

时间:2015-04-29 17:30:08

标签: google-apps-script triggers

我知道发生的事情是按照设计进行的,但我试图找出人们如何处理这个问题 - 尝试了几种不同的方法,但我想我并没有以正确的方式思考它(我更多的是一个bash脚本编写者:))。

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

现在,如果有人编辑,说出该范围内的5个单元格,则会发送5封电子邮件。 BAD!

所以它似乎就像我需要一种方法让每个脚本运行"知道"关于彼此,只在编辑完第一个单元格后的一段时间后才发送电子邮件?

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

我必须想象这是一个常见的事情要弄清楚,但它没有找到我。

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

1 个答案:

答案 0 :(得分:0)

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

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);    
}