Как сказано в Класс ItemResponse
Для вопросов CheckboxItem это возвращает массив String [], содержащий варианты ответов респондента. Порядок строк в массиве может варьироваться.
У меня есть функция, которая импортирует ответы из Google Form. В нем есть различные пункты, некоторые из них чекбокс, некоторые абзацы. Эти ответы устанавливаются в электронной таблице.
Проблема с функцией заключается в том, что для элементов, для которых установлены флажки (доступно несколько проверок), импортируется только один проверенный ответ, и мне нужны все они.
Поэтому я попробовал следующий код, но ответ ver не является массивом, как говорится на сайте разработчиков, или я ошибаюсь:
function leer()
{
//Definições iniciais da planilha
var spreadsheet = SpreadsheetApp.getActive();
var DB = SpreadsheetApp.getActive().getSheetByName("REPXT").getRange("A2:D");
var datos = SpreadsheetApp.getActive().getSheetByName("REPXT").getRange("A2:D500").getValues();
var base = SpreadsheetApp.getActive().getSheetByName("Base de datos REPXT");
//Obter dados do formulário
for(var i=0;i<SpreadsheetApp.getActive().getSheetByName("REPXT").getMaxRows() +1; i++)
{
if(datos[i][3]!="Importado"&&datos[i][2]!=""){
var idg= datos[i][2]
var form = FormApp.openById(idg);
var formResponses = form.getResponses();
var quant_resp = formResponses.length;
//Buscar todas las respuestas
for( var j = 0; j < quant_resp ; j++ )
{
//Obter dados do formulário
var linhaform = formResponses[j];
var linharesponses = linhaform.getItemResponses();
//Inserir no BANCO R2 - NOMBRE - e na aba AUX_LEER
var inicio= base.getLastRow() + 1 ;
base.getRange(inicio, 2).setValue(datos[i][0]);
var l=3;
for (var k=0;k<linharesponses.length;k++){
var itemResponse = linharesponses[k];
base.getRange(inicio, l).setValue(linharesponses[k].getItem().getTitle());
if(itemResponse.getItem().getType()== FormApp.ItemType.CHECKBOX){
var response = itemResponse.getResponse();
for (var m = 0; m < response; ++m) {
base.getRange(inicio, l+m+1).setValue(response[m]);
}
l=l+1+chkItem.getChoices().length;
}
else { base.getRange(inicio, l+1).setValue(linharesponses[k].getResponse());
l=l+2;
}
}
SpreadsheetApp.getActive().getSheetByName("REPXT").getRange(i+2,4).setValue("Importado");
}
}
}
}
Можете ли вы помочь мне получить все опции, отмеченные на checkboxItem?
Заранее спасибо.