首页 > 解决方案 > 仅在工作日的每个小时,在特定时间之间运行 Google 脚本 - 使用基于时间的触发器?

问题描述

我有一个 Google 表格电子表格,需要一个脚本自动更新它。需要仅在工作日、每小时、特定时间之间运行 Google 脚本 - 使用基于时间的触发器?因此,每周一到周五从早上 8 点到下午 5 点每小时运行一次脚本。

标签: google-apps-scriptgoogle-sheets

解决方案


只需添加一个停止执行 if the day is Saturday or SundayOR的条件the hour is before 8 or after 17

function myFunction () {
  var today = new Date();
  var day = today.getDay();
  
  var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
  
  if(day == 6 || day == 0) {
    message.innerHTML = 'Today is ' + days[day] + '. So I\'ll do nothing'
    return;
  } else {
    var hour = today.getHours();
    var minute = today.getMinutes();
    if(hour < 8 || hour > 17) {
      message.innerHTML = 'Today is ' + days[day] + ' but the time is ' + hour + ':' + minute + '. So I\'ll do nothing'
      return;
    }
   
    message.innerHTML = 'Today is ' + days[day] + ' and the time is ' + hour + ':' + minute + '. So I\'ll do something'
    
  }
}

myFunction()
<span id="message"></span>

使用此实现,您只需创建一个触发器以每小时运行一次该函数。if 语句中的条件将确保下面编写的任何代码如果不符合您的运行时条件将不会运行。


推荐阅读