为google表单创建可安装触发器时出现意外错误



我想为google表格创建一个可安装的触发器,下面是创建它的Apps脚本代码:

function setTrigger() {
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger("myFunction").forSpreadsheet(ss).onEdit().create();
}
function myFunction() {
Logger.log('x');
}

当我从Apps脚本运行函数setTrigger()时,我得到例外:

Exception: Unexpected error while getting the method or property forSpreadsheet on object ScriptApp.TriggerBuilder.setTrigger

说明:

问题是你正在从一个独立的脚本执行这个脚本。

在这种情况下,没有活动的电子表格,因此您需要更改:

var ss = SpreadsheetApp.getActive()

:

var ss = SpreadsheetApp.openById('Spreadsheet_ID');

其中'Spreadsheet_ID'是电子表格文件的id *.

另一个选择是找到目标电子表格文件并使用当前的解决方案。为此,打开Tools => Script editor,您的脚本将绑定到电子表格文件。

解决方案:

function setTrigger() {
var ss = SpreadsheetApp.openById('Spreadsheet_ID');
ScriptApp.newTrigger("myFunction").forSpreadsheet(ss).onEdit().create();
}
function myFunction() {
Logger.log('x');
}

*例如,URL中的电子表格IDhttps://docs.google.com/spreadsheets/d/abc1234567/edit gid = 0"abc1234567".

相关内容

  • 没有找到相关文章