如何在Spreadsheet.show(HtmlOutput)之后unShow()?

时间:2012-09-27 22:23:37

标签: google-apps-script google-sheets google-spreadsheet-api

我的工作非常好:

var theForm = HtmlService.createTemplateFromFile('aForm').evaluate();
var theSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();

theSpreadsheet.show(theForm);

当用户提交数据时,我想关闭“theForm”。在电子表格上有类似unShow()或hide()的方法吗? HtmlOutput上的harikiri()方法?

理想情况下,我想要一个reShow()命令来保存提交的数据,刷新电子表格并再次调用show()。

我发现无法做这些事情,所以我只是禁用了提交按钮。啊!

任何建议都非常感谢。

更新(2012/08/28):我应该提到我正在使用此调用从HTML表单调用与最初打开的“theForm”相同的代码...

google.script.run.recordTheForm(jsonTheForm);

我是否正确地假设google.script.run。 * ()调用不知道之前设置的任何变量值?

2 个答案:

答案 0 :(得分:1)

HtmlService没有相当于app.close()......这是一种疏忽,而不是设计上的东西,我们会修复它。

编辑:从客户端JavaScript代码(不是来自app.close()之类的服务器,但在HtmlService代码本身内),您现在可以调用google.script.host.closeDialog()

答案 1 :(得分:0)

请致电:

theForm.close();
SpreadsheetApp.flush();
theSpreadsheet.show(theForm);
祝你好运,

Thomas van Latum