我如何在谷歌表格中创建一个弹出式谷歌表单?



我希望创建一个弹出式谷歌表单,出现当你按下一个菜单项在工作表。我可以把它展示出来,但我不能回答问题。

下面是我当前的代码:

function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menubuttons1 = [ {name: "Input", functionName: "ask"} ];
ss.addMenu("Sales", menubuttons1);
}
function ask() {
var form = FormApp.openById("1LdHO6bazGUsrmanRUbUwj28-gTiv2pJwUEfj8NzinjA"),
formUrl = form.getPublishedUrl(),
response = UrlFetchApp.fetch(formUrl),
formHtml = response.getContentText(),
htmlApp = HtmlService
.createHtmlOutput(formHtml)
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Sales Input')
.setWidth(450) 
.setHeight(500);  SpreadsheetApp.getActiveSpreadsheet().show(htmlApp);
}

这是google表格和表单:

表:https://docs.google.com/spreadsheets/d/1aGkZjDgMkRrFiPqCy5zy-bORGxuPKnSgYzP0vhy4bso/edit gid = 0

形式:https://docs.google.com/forms/d/1LdHO6bazGUsrmanRUbUwj28-gTiv2pJwUEfj8NzinjA/edit

根据您的情况,以下修改如何?

修改脚本:

在这次修改中,我修改了函数ask

function ask() {
var form = FormApp.openById('1LdHO6bazGUsrmanRUbUwj28-gTiv2pJwUEfj8NzinjA');
var formUrl = form.getPublishedUrl();
var formHtml = `<iframe id="inlineFrameExample" src="${formUrl}" style="border:none; width:400px; height:400px;"></iframe>`;
var htmlApp = HtmlService
.createHtmlOutput(formHtml)
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('Sales Input')
.setWidth(420)
.setHeight(420);
SpreadsheetApp.getActiveSpreadsheet().show(htmlApp);
}

相关内容

最新更新