你好,你堆栈溢出罚款。谷歌电子表格时间驱动事件不会触发
我写了一个小脚本,它从电子表格中拉出报价并通过电子邮件发送给用户。这个想法是,脚本每天运行一次,将电子表格中的下一个报价拉到电子邮件地址。
脚本是这样的:当我手动运行它
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 1000; // Number of rows to process
var dataRange = sheet.getRange(startRow, 2, numRows, 3);
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
if(row[2]=="yes") {
continue;
}
var emailAddress = "[email protected]"; // email to send to
var message = '"'+row[0]+'"'+"\n\n"+"- "+row[1]; // Second column
startRow = parseInt(startRow)+parseInt(i);
var subject = "";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow,4).setValue("yes");
SpreadsheetApp.flush();
break;
}
}
该脚本工作正常。
现在我添加了一个脚本触发,看起来像这样:
sendEmails |时间驱动| Day Timer |晚上7点到晚上8点
不幸的是,该函数没有执行并且报价没有被发送。
我对理解时间驱动触发器也有点问题。 “晚上7点到晚上8点”是什么意思?在随机时间的两个小时之间一次?
如果我不必登录Google文档,该脚本才有意义。也许我在这里完全误解了一些东西......如果我登录Google文档,脚本是否可用? (但即使我是,截至目前,脚本也不会使用Time-Driven触发器执行)。
我非常感谢您对此的看法。 Moritz
非常感谢。实际上它可以和.getActiveSpredsheet()一起工作,现在定时器也可以工作。由于时区的不同,它只有一个小时的时间。 – user1389974