我一直在使用带有附加应用脚本的Google表格。 我自己编写了代码,代码添加了自定义菜单,并显示了带有各种按钮的补充工具栏。
直到最近(几周前),一切都工作正常。
但现在突然间边栏不再出现,除非我去,点击自定义菜单中的选项。
我如何让它再次运作?
在脚本中的OnOpen函数中,我调用以下内容:
function onOpen() {
// Code to create custom menu goes here
showSideBarUserInterface();
}
function showSideBarUserInterface() {
var html =
HtmlService.createTemplateFromFile('SideBarUserInterface').evaluate()
.setWidth(UI_SIDEBAR_WIDTH)
.setTitle("What would you like to do?")
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
var ss = SpreadsheetApp.getActive();
SpreadsheetApp.getUi().showSidebar(html);
}
答案 0 :(得分:2)
我最近遇到了类似的问题,最后我进入了脚本编辑器编辑菜单和当前项目触发器并创建了一个onOpen()触发器,这对我来说很有用。我不认为我必须使用简单的触发器,但最近我添加了一些额外的功能,所以可能需要授权,这可能是我需要可安装版本的原因。我真的不知道原因。但它确实有效。
答案 1 :(得分:1)
我现在已经从 onOpen 函数中删除了对 showSideBarUserInterface()的调用,而是创建了一个触发器来直接调用 showSideBarUserInterface 函数。电子表格已打开 - 而不是具有再次调用 onOpen 功能的触发器。
在我看来,有一个显式调用onOpen函数的触发器是一个糟糕的编程示例 - 因为它应该被自动调用 - 但这是我的看法。
我确实看到 onOpen 功能在我打开电子表格时会自动运行,因此打开电子表格会打开电子表格。触发器运行 showSideBarUserInterface 函数一切似乎都按照我想要的方式工作。