-1

我正在尝试显示DialogBoxGoogle 表单插件中使用的函数。

function onOpen() {
  FormApp.getUi()
    .createMenu('MyAddon')
    .addItem('Test', 'myTest')
    .addToUi();
}

function myTest() {
  Logger.log("--> called");

  var app = UiApp.createApplication(); // or UiApp.getActiveApplication()
  var dialog = app.createDialogBox();
  dialog.setPopupPosition(100, 100).setSize(500, 500);
  dialog.show();
  return app;
}

与 不同的是FormApp.getUi().showModalDialog(content, title),函数 usingDialogBox被调用但什么都不做(什么都不显示)。是否有人成功在 Google 插件中显示此类组件?

使用的目标DialogBox是能够设置一个关闭处理程序,这是不可能的.showModalDialog(...)(它返回void但不引用创建的对话框)。

我在插件中的 Google API for UI 中看不到任何其他方式来显示对话框,并在关闭时进行回调。

4

1 回答 1

-1

如果只是从函数返回,从服务器端代码调用此函数(这是选择该菜单项时发生的情况)将不会显示此 Ui。您需要使用一种方法,例如SpreadsheetApp.getUi().showModalDialog(uiInstance, 'My add-on');让它显示给用户。

如果您正在寻找的只是关闭对话框后采取行动的方法,请考虑使用警告对话框提示对话框。这些将返回一个对象,可以查询该对象以查看用户选择了哪个按钮,或者在对话框中输入了哪些文本。

于 2014-09-17T16:49:57.967 回答