我们使用此代码将notify()
设置为电子表格onEdit触发器功能:
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger("notify").forSpreadsheet(ss).onEdit().create();
上面的触发器notify()
会在电子表格更新时通过邮件通知用户,但问题是它会向用户发送电子邮件以进行每次编辑。如何克服这个问题,即使有多处更改也要发送一个通知?
答案 0 :(得分:1)
您可以通过记住您已通知用户并停止进一步通知(一段时间)来实现目标。例如,此功能使用Properties Service跟踪通知,每天只发送一次:
function notify(e) {
// Get the date we last notified user
var properties = PropertiesService.getUserProperties();
var lastNotifyDate = properties.getProperty("lastNotified");
// Get today's date
var today = new Date().toDateString();
// Should we send a notification to user?
if (!lastNotifyDate || lastNotifyDate !== today) {
// --- Place notification code here --- //
// Notify user just once per day; remember we've sent a notification already
properties.setProperty("lastNotified",today);
}
}