是否可以关闭在Apps脚本中打开的UI窗口?
但我想知道是否还有其他意见。
我有一个弹出的“等待窗口”,我想在活动结束时关闭。
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,说“工作完成,单击确定”,然后就可以了。
答案 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;
}