从 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);
}));
}
我做了以下代码。
/**
* 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);
}));
}