Google App Script onFormSubmit触发器未触发

时间:2014-07-08 14:08:33

标签: javascript google-apps-script triggers google-sheets google-form

我有一个脚本在提交Google表单时运行一个函数,并在我的Google电子表格中添加了一个新行。唉,它没有触发。没有报告错误,我也没有收到通知电子邮件。该函数在手动执行时有效,并且在提交表单时会按预期将新行添加到电子表格中。

我已经通过资源选项卡安装了触发器,以便在电子表格上发生事件时运行onFormSubmit()。我已经尝试过onChange和onFormSubmit,两者都没有响应。当我手动编辑电子表格时,编辑触发器按预期工作。它应该运行的简单功能如下。

function onFormSubmit() {
Browser.msgBox("Success")
}

非常感谢任何指示,谢谢。

2 个答案:

答案 0 :(得分:0)

我很好奇是否真的发生了,所以我只是做了一个测试。

我没有收到错误消息或通知电子邮件,但执行转录显示脚本已被解雇

[18-04-14 18:20:35:056 CDT] SpreadsheetApp.getActiveRange() [0 seconds]
[18-04-14 18:20:35:056 CDT] Range.getRow() [0 seconds]
[18-04-14 18:20:35:056 CDT] Range.getLastRow() [0 seconds]
[18-04-14 18:20:35:057 CDT] Range.getColumn() [0 seconds]
[18-04-14 18:20:35:057 CDT] Range.getLastColumn() [0 seconds]
[18-04-14 18:20:35:057 CDT] SpreadsheetApp.getActiveSpreadsheet() [0 seconds]
[18-04-14 18:20:35:151 CDT] Starting execution
[18-04-14 18:20:35:158 CDT] Browser.msgBox([Success]) [0 seconds]
[18-04-14 18:20:35:160 CDT] Execution succeeded [0.002 seconds total runtime]

在我的测试中,我将电子表格和表格放在一起。没有显示对话框。

解释是,可安装触发器触发的脚本实例不知道用户是否已打开电子表格(浏览器仅在Google电子表格上下文中可用)。

如果要在收到表单提交时向用户显示一个对话框,则需要一个" poller"就像Mogsdad's answerHow do I make a Sidebar display values from cells?

所描述的那样

答案 1 :(得分:-1)

看起来你不能将Browser.msgBox()与Forms结合使用。

在触发器功能中,调用Logger.log(“函数被调用”)

您将看到在日志中调用该函数。

FormApp.getUi()。alert(“hello”)将在表单编辑器中创建一个消息框,但不会在实时表单中创建。