我希望在编辑发生后获得一个触发器来运行指定的时间。
我想我可以将编辑触发器和基于时间的触发器结合起来,但不清楚是如何实现的。
提供一些额外的细节。
我有一个谷歌页,我在那里跟踪我的胰岛素使用情况。我应该在注射胰岛素2小时后检查血糖。
当我给胰岛素注射时,我会在谷歌页面,时间/数量/等等.当我做这个条目,我想创建一个触发器,将在2小时内运行,向我发送电子邮件通知作为提醒,再次检查我的血糖,并作出一个新的条目。
发布于 2016-11-22 18:31:18
这就是我在中使用时间触发器的方式。
函数来创建时间触发器。
function createTriggger(name,action,time){
// Time is in minutes
var trigger = ScriptApp.newTrigger(action)
.timeBased()
.after(time*60*1000)
.create();
var triggerID = trigger.getUniqueId();
// Store trigger id to delete the trigger once it has executed
PropertiesService.getScriptProperties().setProperty(name, triggerID);
};此name是存储触发器id的属性的名称,因此您可以在触发器执行后删除它。action是要执行触发器的函数的名称,time在几分钟内。
在要执行触发器的函数的最后一行上,使用此行获取触发器id并将其从触发器列表中删除。将触发器id属性的名称放在name中。
var triggerID = PropertiesService.getScriptProperties().getProperty(name)
deleteThisOne(triggerID)以下是删除功能:
function deleteThisOne(id){
var triggers = ScriptApp.getProjectTriggers();
for(var i=0;i<triggers.length;i++){
if(triggers[i].getUniqueId() == id){
ScriptApp.deleteTrigger(triggers[i]);
break;
};
};
};查看局限性的google脚本Installable触发器
发布于 2016-11-21 21:32:21
当您的编辑触发器触发时,您可以使用ClockTrigger -参见ClockTriggerBuilder文档和示例,该文档和示例允许您设置相对于当前执行时间的时间,或者在绝对时间设置时间。
发布于 2016-11-22 05:25:01
你可以利用这样的工作:
在电子表格中的某个角落单元格中设置'0‘值,这是你永远不会修改的。把那列藏起来。
在电子表格上设置onEdit触发器并编写其函数,该函数设置值“0”。
设置另一个触发器,该触发器每10分钟触发一次,使该单元格值每次增加10。还将此添加到该函数中:
if(cellValue%120 == 0)
{
setReminder(); //function to send you reminder
cellValue = 0;
}https://stackoverflow.com/questions/40729169
复制相似问题