从 google sheet 生成 google 表格

Generate google form from google sheet

我做了以下代码。

    /**
 * Creates a Google Form de um arquivo do Google Sheet, publica o formulário e manda o link para o seu e-mail.
 */
function createAndSendForm() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  var nomeSheet = SpreadsheetApp.getActive().getName();
  var nomePlanilha = SpreadsheetApp.getActiveSheet().getName();
  var form = FormApp.create('2020' + nomeSheet);
  // This represents ALL the data
  var inicio = 4; // pegar da planilha
  var range = sheet.getDataRange();
  var qColunas = 6;
  var values = range.getValues();
  var nPerguntas = 14; // pegar da planilha

  for (var i = inicio; i < nPerguntas; i++) {
   var tituloPergunta = values[i][0]; // range.getValues()
   var item = form.addCheckboxItem();
   item.setTitle(tituloPergunta);
   Logger.log(tituloPergunta);

  for (var j = 1; j < values[i].length; j++) {
     var alternativa = values[i][j];
     Logger.log(alternativa);
     item.getChoices().push(item.createChoice(alternativa))
    }
    }
}

该代码集成了在计划中捕获问题并将其放入表格中,我想要的问题是多种选择。 数据位于单元格 A4F14 中。 A 列是问题,B 列作为备选方案开始,以 F 结束。所有选项的数量相同,即 5 个备选方案。 但是我的代码没有创建表单,它提出了一个问题,但它并不构成替代方案。 有人可以帮我吗?

你可以用 map():

 for (var i = inicio; i < nPerguntas; i++) {
    var tituloPergunta = values[i][0];
    var item = form.addCheckboxItem();
    item.setTitle(tituloPergunta);
    values[i].shift();
    item.setChoices(values[i].map(function (choice) {
      return item.createChoice(choice);
    }));
  }