我有一个用Google文档创建的工具,部分原因是我每天早上11点备份一组数字,用于创建图表以显示随时间推移的进度。我使用一个触发器运行此脚本,该触发器设置为每周备份一次数据。
我真正想要做的只是在工作日支持这些数据,因为周末数据会让我的平均值下降。因此,周一至周五每天上午11点
有没有人有办法设置脚本以编程方式运行?
答案 0 :(得分:8)
我和Zig Mandel有同样的想法。
不是每天创建1个触发器,更简单的方法是在周末结束时停止该功能。
将触发器设置为Daily
并在函数开头添加几行代码来实现这一目的:
function functionName(parameters) {
//Skip week-end
var day = new Date();
if (day.getDay()>5 || day.getDay()==0) {
return;
}
//Code to be executed
}
答案 1 :(得分:6)
您可以使用以下函数创建将在每个工作日上午11点运行的触发器。
function createTriggers() {
var days = [ScriptApp.WeekDay.MONDAY, ScriptApp.WeekDay.TUESDAY,
ScriptApp.WeekDay.WEDNESDAY, ScriptApp.WeekDay.THURSDAY,
ScriptApp.WeekDay.FRIDAY];
for (var i=0; i<days.length; i++) {
ScriptApp.newTrigger("your_function_name")
.timeBased().onWeekDay(days[i])
.atHour(11).create();
}
}
答案 2 :(得分:2)
每天运行它并使用js函数在触发器的开头添加一个if来检查星期几。 getDay()方法返回星期几(从0到6)
答案 3 :(得分:0)
也许Time-Driven Triggers完成了你的需要。您可以为所需的每一天/每个时间定义一个触发器。
你也可以选择Zig Mandel提到的here。