Google Apps脚本关闭()

时间:2012-06-20 23:13:41

标签: google-apps-script

是否可以关闭在Apps脚本中打开的UI窗口?

我认为答案不是:http://code.google.com/p/google-apps-script-issues/issues/detail?id=474&can=1&q=.close%28%29&colspec=Stars%20Opened%20ID%20Type%20Status%20Summary%20Component%20Owner

但我想知道是否还有其他意见。

我有一个弹出的“等待窗口”,我想在活动结束时关闭。


var app = UiApp.getActiveApplication();

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = getSheetWithSubmissions(ss);

// create UI app, this works fine

app = createWaitPleaseUI(sheet);

ss.show(app);

//simulated activity

Utilities.sleep(5000);

//this doesn't work despite being in the documentation

app.close();

认为这是不可能的,但如果无法完成,Google希望将其从文档中转储。

作为一种解决方法,我可以调出第二个GUI,说“工作完成,单击确定”,然后就可以了。

2 个答案:

答案 0 :(得分:6)

您必须返回app对象才能更新任何更改,甚至关闭。

改为将最后一行更改为return app.close()

答案 1 :(得分:0)

您应该更全面地阅读文档,清楚地解释说电子表格中的UI需要通过返回实际关闭来结束。另外我建议你可以相信来自顶级贡献者的答案,而不是相信你总是正确对抗医生和其他人......没有冒犯,但总是欢迎一点谦虚:-)

这是从documentation中提取的一段代码,以证实:

// Close everything return when the close button is clicked
function close() {
  var app = UiApp.getActiveApplication();
  app.close();
  // The following line is REQUIRED for the widget to actually close.
  return app;
}