我创建了一个工作用的Google脚本(我不想在这里分享),并且使用一个onOpen()触发器工作得很好。
自从我出于测试目的在个人电子表格上处理该脚本以来,我最终将其移至真正的Google表格中,该表格应从一开始就可以运行,而onOpen()函数仍可以通过调用正常运行“运行功能”或什至“调试功能”,则不会触发该触发器,并且我也没有获得任何可能对我有帮助的日志或调试信息。
我多次删除并重新创建了触发器,因为我看到这是该问题的已知解决方法,但是它没有任何改变。然后,当我检查“当前触发器”时,我发现它甚至没有触发过一次,对于导致此问题的原因我一无所知……
尽管无论如何它都不想放弃整个脚本,但我仍为触发函数提供了代码,即使自上次在测试电子表格上成功运行以来它没有变化:
function onOpen()
{
var aSheet = SpreadsheetApp.getActiveSheet();
var emailRow = 2;
var emailColumn = 3;
for(; !aSheet.getRange(emailRow, emailColumn).isBlank(); emailRow++)
{
aSheet.getRange(emailRow, 19).setValue(matchNPandCIO(emailColumn, emailRow));
}
}
我唯一可以添加的并且可能不相关的是,我现在尝试在其上运行脚本的电子表格今天的所有权已更改,而我现在是它的所有者。我的想法和尝试不多了...
是的,我还确保我为脚本提供了所需的授权(在创建触发器之后完成)。
答案 0 :(得分:0)
像onOpen
这样的简单触发器会匿名运行,因此,如果matchNPandCIO
调用需要授权才能运行的方法,则会失败。
替代方法是使用可安装的触发器。
相关