Google脚本仅触发工作日

时间:2013-10-07 11:35:21

标签: google-apps-script

我有一个用Google文档创建的工具,部分原因是我每天早上11点备份一组数字,用于创建图表以显示随时间推移的进度。我使用一个触发器运行此脚本,该触发器设置为每周备份一次数据。

我真正想要做的只是在工作日支持这些数据,因为周末数据会让我的平均值下降。因此,周一至周五每天上午11点

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

4 个答案:

答案 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