我在玩触发器。
在电子表格中,我有一个在新行中插入日期的函数。每分钟作为时钟触发器运行。如果电子表格打开或关闭(喜欢该部分),则工作正常。
在一个独立的脚本中,我在上面的电子表格中为 onEdit 设置了一个触发器。它所做的只是通过电子邮件将 e.value 发送给我。
如果我在电子表格中并且只需在单元格中输入一些字符,它就可以工作。
我“期望”的是,每次第一个触发器插入日期时,它都会触发 onEdit。唉,事实并非如此。即使我在触发器之外运行插入日期功能,我的电子邮件 onEdit 触发器也不会触发。
有什么想法吗?
我问,因为我的目标是让脚本更新启动 onEdit 事件的工作表。
吉姆
更新#1:
也许这个代码示例有帮助?
我将其简化为电子表格容器内的一个脚本。如果我对电子表格进行任何交互式更改,每个函数都可以正常工作,第二个函数可以正常工作。
这只是探索,所以请忽略配额或我在这里测试的完全废话:-)
insertClockTrigger:每分钟运行一次,工作正常
installableOnEdit:当 insertClockTrigger 触发时,永远不会作为可安装的 onEdit 触发
我很好奇为什么看起来由 insertClockTrigger 完成的编辑没有触发 onEdit 触发器。触发器不会触发触发器(无法帮助自己!)?
function insertClockTrigger() {
var sheet = SpreadsheetApp.openById('spreadsheet-ID').getSheets()[0];
var nDate = new Date();
sheet.getRange(sheet.getLastRow()+1,1,1,1).setValue(nDate).flush;
}
function installableOnEdit(e) {
GmailApp.sendEmail("some@email.com", "Test trig2", "FISH: "+e.value);
}