使用HtmlService HtmlTemplate时设置Google Apps脚本showModalDialog的高度

时间:2015-01-20 09:38:00

标签: google-apps-script

我目前正在将使用弃用的UI服务的Google Apps脚本转换为HtmlService。

我使用以下代码创建了一个模态对话框(在电子表格容器绑定脚本中):

var htmlTemplate = HtmlService.createTemplateFromFile('testDialogue');

htmlTemplate = template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);

SpreadsheetApp.getUi().showModalDialog(htmlTemplate, 'Test Dialogue');

对话框打开,但我需要修改其尺寸。

HtmlOutput对象有一个setHeight method,但似乎没有HtmlTemplate objects可用的方法。

我尝试在对象上使用这个方法,如下所示:

var htmlTemplate = HtmlService.createTemplateFromFile('testDialogue').setHeight(300);

但是这会产生这个错误:

  

TypeError:在对象HtmlTemplate中找不到函数setHeight

另外,我检查了SpreadsheetApp Ui Class and showModalDialog method,但它们似乎都没有设置HtmlTemplate对象高度的方法。

1 个答案:

答案 0 :(得分:6)

在.evaulate()方法之后链接它时可以使用.setHeight()方法,如下所示:

template = template.evaluate()
                   .setSandboxMode(HtmlService.SandboxMode.IFRAME)
                   .setHeight(300);

更新2/19/19: .setSandboxMode()方法不再有任何效果 - 现在所有脚本现在都使用IFRAME模式,无论设置了什么样的沙箱模式(documentation )。这种方法与设置高度无关,但我想如果有人最终复制并粘贴此代码示例,我会提及此。