7

我有一个使用 Google 文档创建的工具,其中一部分是我每天上午 11 点备份一组数字,我用它来创建一个图表来显示一段时间内的进度。我使用设置为每周备份一次数据的触发器运行此脚本。

我真正想做的只是在工作日备份这些数据,因为周末数据会抛出我的平均值。所以就在周一至周五每天上午 11 点

有没有人有办法设置脚本以编程方式运行?

4

4 回答 4

18

我和齐格曼德尔有同样的想法。

与其每天创建 1 个触发器,更简单的方法是在周末停止该函数。

将触发器设置为Daily并在函数的开头添加几行代码来达到目的:

function functionName(parameters) {

    //Skip week-end
    var day = new Date();
    if (day.getDay()>5 || day.getDay()==0) {
      return;
    }

  //Code to be executed
 }
于 2016-03-03T12:17:08.463 回答
14

您可以使用以下函数创建将在每个工作日上午 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();
   }
}
于 2013-10-07T17:07:59.947 回答
2

每天运行它并使用 js 函数在触发器的开头添加一个 if 来检查星期几。getDay() 方法返回星期几(从 0 到 6)

于 2013-10-07T12:29:12.800 回答
0

也许使用时间驱动触发器可以完成您所需要的。您可以为您需要的每一天/时间定义一个触发器。

您还可以选择Zig Mandel在此处提到的选项。

于 2013-10-07T12:27:51.493 回答