javascript - 从上午 9 点到下午 12 点,使用触发器每 30 分钟运行一次脚本

标签 javascript google-apps-script google-sheets

我有以下代码来每周一上午 9 点运行代码。但我想从上午 9 点开始到中午 12 点

30 分钟运行一次代码
ScriptApp.newTrigger('myFunction').timeBased().everyWeeks(1).onWeekDay(ScriptApp.WeekDay.MONDAY).atHour(9).create()

有人可以帮助我如何使用触发器执行此操作吗?

最佳答案

说明:

您可以使用this answer实现您的目标。

创建所需时间的数组,并迭代地为周一的每个时间创建每周触发器。

解决方案:

执行一次createTrigger函数,为myFunction创建所需的触发器。

function createTrigger(){

const createTrigger = ([hour, minute])=>
  ScriptApp.newTrigger("myFunction")
  .timeBased()
  .atHour(hour)
  .nearMinute(minute)  
  .everyWeeks(1)
  .onWeekDay(ScriptApp.WeekDay.MONDAY)
  .create();

[[9,0],[9,30],[10,0],[10,30],[11,0],[11,30],[12,0]].forEach(createTrigger);

}

function myFunction(){

// code you want to execute

}

关于javascript - 从上午 9 点到下午 12 点,使用触发器每 30 分钟运行一次脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65408699/

相关文章:

javascript - 处理多个获取的 MySQL 数据的 JS 问题 [PHP, MySQL & JS]

javascript - Highcharts 主从图表的问题

google-apps-script - 根据条件格式化货币

gmail - 将 Evernote 笔记导出到 Kindle(通过 Gmail?)

javascript - 独立脚本 - 打开谷歌表文件

javascript - 属性访问器可以在 Javascript 中有原型(prototype)吗

javascript - 如何在页面加载而不是事件触发时执行JS?

multithreading - gmail 脚本仅从每个线程的第一封电子邮件中提取

google-apps-script - Google App Script,突出显示自上个月以来的新用户

google-apps-script - 如何删除YouTube播放列表中的视频并每天填充新视频