首页 文章

是否可以在Google Apps中设置时钟触发器,以便每小时发送一次电子表格?

提问于
浏览
0

我有一个电子表格,可以记录Google Cloud 端硬盘中接听的来电和未接来电 . 它目前定于每天上午10点到晚上7点之间发送电子邮件 .

理想情况下,我希望它不会在周末发送电子邮件 . 星期一到星期五的每小时设置使用太多触发器 .

有没有办法构建一个触发器,只在周一到周五每小时(上午10点到晚上7点)发送一封电子邮件?

我已经阅读了谷歌的文档和一些(事实证明无关)这里的例子,我很难过!

我尝试将一大堆触发条件放在一起:

function autoSendHourly() {
ScriptApp.newTrigger("hourlyUpdate()")
   .timeBased()
   .onWeekDay(ScriptApp.WeekDay.MONDAY)
   .onWeekDay(ScriptApp.WeekDay.TUESDAY)
   .onWeekDay(ScriptApp.WeekDay.WEDNESDAY)
   .onWeekDay(ScriptApp.WeekDay.THURSDAY)
   .onWeekDay(ScriptApp.WeekDay.FRIDAY)
   .atHour(10)
   .atHour(11)
   .atHour(12)
   .atHour(13)
   .atHour(14)
   .atHour(15)
   .atHour(16)
   .atHour(17)
   .atHour(18)
   .atHour(19)
   .create();
}

我并不完全惊讶它不起作用,但我有点惊讶它没有错误 .

任何帮助(包括“你疯了都不能做”)将不胜感激 .

2 回答

  • 2

    最简单的方法是像你一样使用创建触发器,但是每天每小时使用一次,然后在处理程序函数中添加一小段代码,如果日期和时间不符合_1453129中所述的特定条件,将返回这些代码 .

    代码可能看起来像这样:

    function officeHours(){
      var nowH=new Date().getHours();
      var nowD=new Date().getDay();
      Logger.log('day : '+nowD+'   Hours : '+nowH)
      if(nowH>17||nowH<8||nowD==6||nowD==0){return}
      Browser.msgBox('time to work !');//normally your real function should begin here...
    }
    
  • 0

    我有一段时间没有乱用java,但这篇文章可能有所帮助 .

    Android: how to get the current day of the week (Monday, etc...) in the user's language?

    如果是我,我会得到一周中的那一天并在交换机中检查它 . 然后,如果它匹配一个工作日,则调用一个函数来检查上午10点到晚上7点之间的时间 .

    祝你好运 .

相关问题