我正在尝试在Google脚本中创建一个基于时间的触发器,以便在指定日期每天凌晨1点执行一次incrementCell
功能。当试图在
ScriptApp.newTrigger("incrementCell").timeBased().atDate(2018, 1, 4).atHour(1).everyWeeks(52).create();
我收到了"Already chosen a specific date time with at() or atDate()."
错误。
有趣的是,下面的行不会出错:
ScriptApp.newTrigger("incrementCell").timeBased().atDate(2018, 1, 4).create();
请帮忙。
答案 0 :(得分:2)
Google Apps脚本不支持年度触发器,但您可以使用变通方法。创建每月1日运行的月度触发器,如果月份是1月,则运行实际功能。
function createYearlyTrigger() {
ScriptApp.newTrigger("shouldTriggerRun")
.timeBased().onMonthDay(1).atHour(1).create();
}
function shouldTriggerRun() {
var date = new Date();
if (date.getMonth() === 0) {
incrementCell();
}
}