Triggers 是否可以在谷歌应用程序中设置时钟触发器,每小时发送一次电子表格?
我有一个电子表格,在谷歌硬盘上记录接听和未接来电。 目前设置为在上午10点到晚上7点之间每小时发送一封电子邮件 理想情况下,我希望它不发送电子邮件在周末。 设置从周一到周五的每小时使用太多触发器 有没有一种方法可以构建一个触发器,只在周一到周五每小时(上午10点到晚上7点)发送一封电子邮件 我已经阅读了谷歌的文档和一些(事实证明是不相关的)例子,我被难住了 我试着把一堆触发条件放在一起:Triggers 是否可以在谷歌应用程序中设置时钟触发器,每小时发送一次电子表格?,triggers,google-apps-script,Triggers,Google Apps Script,我有一个电子表格,在谷歌硬盘上记录接听和未接来电。 目前设置为在上午10点到晚上7点之间每小时发送一封电子邮件 理想情况下,我希望它不发送电子邮件在周末。 设置从周一到周五的每小时使用太多触发器 有没有一种方法可以构建一个触发器,只在周一到周五每小时(上午10点到晚上7点)发送一封电子邮件 我已经阅读了谷歌的文档和一些(事实证明是不相关的)例子,我被难住了 我试着把一堆触发条件放在一起: function autoSendHourly() { ScriptApp.newTrigger("hour
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();
}
我并不完全惊讶于它不起作用,但我有点惊讶于它没有抛出错误
任何帮助(包括“你疯了,它做不到”)都将不胜感激。我已经有一段时间没有玩弄java了,但本文可能会有所帮助 如果是我,我会得到一周中的某一天,并在交换机中检查它。然后,如果它与一周中的某一天相匹配,则调用函数检查上午10点到晚上7点之间的时间
祝您好运。最简单的方法是像您那样使用create触发器,但每天每小时使用一次,然后在处理程序函数中添加一小段代码,如果日期和时间不满足中解释的特定条件,将返回该代码 代码可能如下所示:
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...
}
功能办公时间(){
var nowH=新日期().getHours();
var nowD=新日期().getDay();
Logger.log('day:'+nowD+'Hours:'+nowH)
如果(nowH>17 | | nowHI)我自己刚刚得出了这个结论。我犯了一个错误,只是专注于尝试使用触发器,而不是做明智的事情。谢谢。