如何使用Apps脚本导入Google表单上的选中选项?

问题描述 投票:0回答:1

我有一个调查问卷,其中有几个问题,每个问题可以是不同的类型(段落,复选框,比例尺)。我知道如何导入所有问题的答案,复选框除外。

var form = FormApp.openById(idg);
var formResponses = form.getResponses();
var linhaform = formResponses[j];
var linharesponses = linhaform.getItemResponses();

[之后,我将响应提取为linharesponses [i](用于循环)

问题是:如果问题是一个复选框,用户可以在其中选择多个选项,则此方法仅导入第一个答案。

我尝试过的另一件事是

 var chkItem = linharesponses[i].getItem().asCheckboxItem();

//and then importing as

chkItem.getChoices()[j].getValue();

但是这将导入所有选项,而不是所选选项。

您能帮我找到导入所选选项的方法吗?

google-apps-script google-form google-apps-script-editor
1个回答
0
投票
  • 对于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”复选框时,此脚本返回sample checkbox, [foo, baz]
  • 在此示例脚本中,将检索复选框的响应值。如果要检索所有项目的响应值,请删除if (itemResponse.getItem().getType() == FormApp.ItemType.CHECKBOX) {

参考:

如果我误解了你的问题,而这不是你想要的方向,我深表歉意。

© www.soinside.com 2019 - 2024. All rights reserved.