-1

我的 UI 适合我(我是电子表格所有者和脚本创建者)。但是,当我与其他用户共享电子表格时,UI 不会完全显示,并且会提示他们打开或保存userAppPanel来自 docs.google.com 的电子表格。

我已将我的脚本完全缩减为以下内容,但仍然不走运:

function showDialog() {
    // Create the UI application
    var uiApp = UiApp.createApplication();

    // Provide the Popup with a title
    uiApp.setTitle('Parameter Collection Dialog');

    // Create an user instruction label
    var lblInstructions = uiApp.createLabel()
      .setText('Select a type of Person and Country');

    // Add the panel to the application
    uiApp.add(lblInstructions);

    // Show the application in the spreadsheet
    var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
    spreadSheet.show(uiApp);
}

当脚本从脚本编辑器为每个尝试的用户运行脚本时,UI 工作 - 但是,当我将它连接到“打开电子表格”触发器时,脚本只适用于我 - 而没有其他人。

我已经接近完成我的要求,这是一个非常令人沮丧的最后一个障碍。

非常感谢

更新:请参阅我的评论以获取解决方案,即使用 onOpen 函数而不是手动 onOpen 触发器。

4

3 回答 3

0

不幸的是,重命名函数 onOpen 的解决方法并不总是适用,例如当您需要该函数以某人(例如您自己)的身份运行时。如果您将其重命名为 onOpen(),它将在没有身份的情况下运行。我不能这样做,因为我需要对数据库进行身份验证。

这似乎证实了问题与触发脚本的人的身份有关。

你发布过问题吗?你能分享它的链接吗?

于 2013-08-07T04:04:25.003 回答
0

感谢您确认斯里克。但是,我已经制定了一个解决方案:

我通过脚本编辑器手动将 showDialog 函数连接到 On Open 触发器。但是,如果您将 showDialog() 函数名称更改为 onOpen(),那么您不必手动将该函数连接到事件,因为 onOpen 是一个内置事件,它现在适用于所有用户(前提是他们是共享用户,并登录)。

我也会打开一个问题,因为我相信它应该双向工作。

希望我的解决方案也能帮助其他人:)

于 2012-08-21T09:11:49.483 回答
0

我试图重现这个问题并且能够轻松地做到这一点。这似乎是一个错误。我建议您在问题跟踪器中打开一个问题并使用错误编号更新此线程。

于 2012-08-20T17:35:52.767 回答