我试图在运行Google脚本期间获得用户反馈。我希望用户能够从名单中选择一个或多个学生,并从标准列表中选择一个或多个标准。
我尝试通过创建带框的html弹出屏幕来实现此目的。弹出窗口工作正常,但我无法访问弹出窗口的结果。
以下是我当前的脚本文件:
code.gs
// Use this code for Google Docs, Forms, or new Sheets.
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Dialog')
.addItem('Open', 'doGet')
.addToUi();
}
function doGet() {
html = HtmlService
.createTemplateFromFile('Index')
.evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.showModalDialog(html, 'Dialog title');
}
function getStandards(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
var dataRange = sheet.getRange(2,1,15,1);
var data = dataRange.getValues();
return data;
}
function getStudents(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
var dataRange = sheet.getRange(2,2,15,1);
var data = dataRange.getValues();
return data;
}
的index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
Standards? Students?
<br>
<select size="15" name="standards" multiple>
<? var data = getStandards();
for (var i = 0; i < data.length; i++) { ?>
<option><?= data[i] ?>
<? } ?>
</select>
<select size="15" name="students" multiple>
<? var data = getStudents();
for (var i = 0; i < data.length; i++) { ?>
<option><?= data[i] ?>
<? } ?>
</select>
<input type="button" value="Close"
onclick="google.script.host.close()" />
</body>
</html>
这是显示的表单,但是当我点击关闭按钮时,我需要获取标准列表和学生列表,这样我就可以在电子表格中创建一堆新行。
目标结果是添加9个新行。每个学生/标准对一个。然后我可以为每个人添加分数。
谢谢!
答案 0 :(得分:0)
我不是故意听起来很奇怪,但为什么不使用Google表单?它会自动将所有条目放入Google表格。