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

Emp*_*yee 3 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');
Run Code Online (Sandbox Code Playgroud)

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

HtmlOutput对象有一个setHeight方法,但HtmlTemplate对象似乎没有相同的方法.

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

var htmlTemplate = HtmlService.createTemplateFromFile('testDialogue').setHeight(300);
Run Code Online (Sandbox Code Playgroud)

但是这会产生这个错误:

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

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

Emp*_*yee 6

好吧,我只是通过黑客攻击来解决这个问题.

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

template = template.evaluate()
                   .setSandboxMode(HtmlService.SandboxMode.IFRAME)
                   .setHeight(300);
Run Code Online (Sandbox Code Playgroud)

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