如何使用 Apps 脚本导入 Google Forms 复选框上的选中选项?
How to import checked options on Google Forms checkbox with Apps Script?
我有一个调查,其中有几个问题,每个问题可以是不同的类型(段落、复选框、比例)。我知道如何导入所有问题的答案,除了复选框。
var form = FormApp.openById(idg);
var formResponses = form.getResponses();
var linhaform = formResponses[j];
var linharesponses = linhaform.getItemResponses();
之后我将响应提取为 linharesponses[i](for 循环)
问题是:如果问题是一个复选框,用户可以在其中select多个选项,这种方法只导入第一个答案。
我试过的另一件事是
var chkItem = linharesponses[i].getItem().asCheckboxItem();
//and then importing as
chkItem.getChoices()[j].getValue();
但这会导入所有选项,而不是 selected 选项。
你能帮我想办法导入 selected 选项吗?
- 对于 Google 表单上的复选框,您想要检索从响应中选中的复选框的值。
- 在你的问题中,我理解
import selected options
因为你想检索选中复选框的值。
如果我的理解是正确的,这个答案怎么样?请将此视为几个答案之一。
示例脚本:
function myFunction() {
var idg = "###"; // Please set Form ID.
var form = FormApp.openById(idg);
var formResponses = form.getResponses();
for (var j = 0; j < formResponses.length; j++) {
var linhaform = formResponses[j];
var linharesponses = linhaform.getItemResponses();
for (var k = 0; k < linharesponses.length; k++) {
var itemResponse = linharesponses[k];
if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX) {
var response = itemResponse.getResponse();
Logger.log("%s, %s", itemResponse.getItem().getTitle(), response)
}
}
}
}
注:
- 例如,如果复选框的标题是"sample checkbox",每个复选框的名称是"foo"、"bar"和"baz",当"foo" 和 "baz" 被检查并提交,此脚本 returns
sample checkbox, [foo, baz]
.
- 在此示例脚本中,检索了复选框的响应值。如果要检索所有项目的响应值,请删除
if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX) {
.
参考文献:
如果我误解了你的问题,这不是你想要的方向,我很抱歉。
我有一个调查,其中有几个问题,每个问题可以是不同的类型(段落、复选框、比例)。我知道如何导入所有问题的答案,除了复选框。
var form = FormApp.openById(idg);
var formResponses = form.getResponses();
var linhaform = formResponses[j];
var linharesponses = linhaform.getItemResponses();
之后我将响应提取为 linharesponses[i](for 循环)
问题是:如果问题是一个复选框,用户可以在其中select多个选项,这种方法只导入第一个答案。
我试过的另一件事是
var chkItem = linharesponses[i].getItem().asCheckboxItem();
//and then importing as
chkItem.getChoices()[j].getValue();
但这会导入所有选项,而不是 selected 选项。
你能帮我想办法导入 selected 选项吗?
- 对于 Google 表单上的复选框,您想要检索从响应中选中的复选框的值。
- 在你的问题中,我理解
import selected options
因为你想检索选中复选框的值。
- 在你的问题中,我理解
如果我的理解是正确的,这个答案怎么样?请将此视为几个答案之一。
示例脚本:
function myFunction() {
var idg = "###"; // Please set Form ID.
var form = FormApp.openById(idg);
var formResponses = form.getResponses();
for (var j = 0; j < formResponses.length; j++) {
var linhaform = formResponses[j];
var linharesponses = linhaform.getItemResponses();
for (var k = 0; k < linharesponses.length; k++) {
var itemResponse = linharesponses[k];
if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX) {
var response = itemResponse.getResponse();
Logger.log("%s, %s", itemResponse.getItem().getTitle(), response)
}
}
}
}
注:
- 例如,如果复选框的标题是"sample checkbox",每个复选框的名称是"foo"、"bar"和"baz",当"foo" 和 "baz" 被检查并提交,此脚本 returns
sample checkbox, [foo, baz]
. - 在此示例脚本中,检索了复选框的响应值。如果要检索所有项目的响应值,请删除
if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX) {
.
参考文献:
如果我误解了你的问题,这不是你想要的方向,我很抱歉。