补充工具栏不再显示 - 它几天前出现 - 没有代码更改但已停止工作

时间:2017-11-19 21:34:08

标签: google-apps-script

我一直在使用带有附加应用脚本的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);
    }

2 个答案:

答案 0 :(得分:2)

我最近遇到了类似的问题,最后我进入了脚本编辑器编辑菜单和当前项目触发器并创建了一个onOpen()触发器,这对我来说很有用。我不认为我必须使用简单的触发器,但最近我添加了一些额外的功能,所以可能需要授权,这可能是我需要可安装版本的原因。我真的不知道原因。但它确实有效。

答案 1 :(得分:1)

我现在已经从 onOpen 函数中删除了对 showSideBarUserInterface()的调用,而是创建了一个触发器来直接调用 showSideBarUserInterface 函数。电子表格已打开 - 而不是具有再次调用 onOpen 功能的触发器。

在我看来,有一个显式调用onOpen函数的触发器是一个糟糕的编程示例 - 因为它应该被自动调用 - 但这是我的看法。

我确实看到 onOpen 功能在我打开电子表格时会自动运行,因此打开电子表格会打开电子表格。触发器运行 showSideBarUserInterface 函数一切似乎都按照我想要的方式工作。