为什么我的UiApp在被其他用户调用时无法显示小部件?

时间:2012-10-25 11:43:22

标签: google-apps-script

当用户从包含我要显示UiApp的笔记的电子表格单元格中删除值时。

在以下函数上设置onEdit触发器:

function showDialogue() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var r = ss.getActiveCell();
  if (r.getValue() != '') return;
  if (r.getValue() == '' &&  r.getComment() != '') {
    var app = UiApp.createApplication();

    var label = app.createLabel('If you can see this, it has worked correctly.');
    app.add(label);

    var button = app.createButton('Click to Close');
    app.add(button);

    var handler = app.createServerHandler('myClickHandler');
    handler.addCallbackElement(label);
    button.addClickHandler(handler);

    r.setValue(r.getRow());

    ss.show(app);
  }

}

function myClickHandler(e) {
  var app = UiApp.getActiveApplication();
  app.close();
  return app;
}

当我这样做时它工作正常但如果另一个用户打开了电子表格,则UiApp无法正常显示。 UiApp窗口打开但不显示任何窗口小部件,并打开“另存为”对话框,提示用户保存userAppPanel。

我在this simplified spreadsheet中复制了与拥有该链接的任何人共享的问题(可编辑)。

0 个答案:

没有答案