当我使用onOpen()时,我可以创建一个弹出窗口ui.alert但是ui.prompt不起作用。
例如:
function onOpen() {
var ui = SpreadsheetApp.getUi(); // get ui for alert
ui.alert('Hello!')
}
工作但是:
function onOpen() {
var ui = SpreadsheetApp.getUi(); // get ui for alert
var nname = ui.prompt('What is your name?', 'E.G.: J Smith', ui.ButtonSet.OK)
}
没有!
还有其他人发现此问题吗?我做错了吗?
非常感谢,
编辑:
如果我这样运行,ui.alert可以工作,但ui.prompt什么都不做。如果我调试该函数,两者都有效。
function onOpen() {
var ui = SpreadsheetApp.getUi(); // get ui for alert
ui.alert('Hello!')
var nname = ui.prompt('What is your name?', 'E.G.: J Smith', ui.ButtonSet.OK);
}
答案 0 :(得分:1)
这是简单onOpen
触发器的权限限制。
如果您使用提示检查代码的执行记录,您将看到Execution failed: You do not have permission to call prompt (line 3, file "____________") [0.001 seconds total runtime]
如果您希望这个工作,您需要使用已安装的触发器。请阅读以前对类似问题here的回答,它关于表单中的onSubmit
触发器,但您只需要更改为onOpen
触发器,然后再更改为脚本将按你的意愿工作。