13 de mayo de 2018

:: Google Forms. Crear formulario desde una hoja de cálculo

En Google Forms es posible crear un formulario a partir de una hoja de cálculo siguiendo los siguientes pasos:
Las preguntas y posibles respuestas podemos insertarlas en un fichero ".csv", siguiendo la siguiente estructura:


pregunta;respuesta1;esCorrecta;respuesta2;esCorrecta;respuesta3;esCorrecta;respuesta4;esCorrecta

El campo "esCorrecta" únicamente lo cumplimentaremos para la respuesta que sea correcta, dejándolo en blanco en caso contrario.

Un ejemplo de fichero CSV podría ser:

1) De acuerdo con el artículo 53.1 de la Constitución, señale el derecho o libertad pública que podrá regularse sólo por ley:;a) El derecho a la protección de la salud.;;b) Derecho a una vivienda digna adecuada.;true;c) El derecho al acceso a la cultura.;;d) Derecho a la negociación colectiva laboral.;
2)Señale los principios constitucionales que rigen siempre en el acceso de los ciudadanos a la función pública:;a) Principio de mérito y objetividad.;hayalgo;b) Principios de mérito y capacidad.;;c) Principios de mérito, capacidad e imparcialidad.;;d) Principios de mérito, capacidad, imparcialidad y transparencia.;

En Google Docs, crearemos una nueva hoja de cálculo y seleccionaremos: "Archivo">"Importar" y seleccionaremos el fichero .csv que contiene las preguntas y posibles respuestas.

Tras la importación de esta información seleccionaremos la entrada: "Herramientas">"Editor de Secuencia de Comandos".

En el editor que se abre, insertaremos el siguiente script:


function CrearFormulario() {
  //Obtiene datos de la hoja de cálculo
  var sheet = SpreadsheetApp.getActiveSheet();
  var nombreFormulario=sheet.getName();
  
  //Crea un formulario desde una hoja de cálculo
  var form = FormApp.create(nombreFormulario);
  form.setIsQuiz(true);
  form.setPublishingSummary(false);
  form.setProgressBar(true);
  form.setShowLinkToRespondAgain(true);
  
  //Lee los datos de la hoja de cálculo y crea las preguntas y respuestas
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
 //.setChoiceValues([data[i][1],data[i][3], data[i][3], data[i][7]])
    var pregunta=form.addMultipleChoiceItem();
 pregunta.setTitle(data[i][0]);
    pregunta.showOtherOption(false);
    pregunta.setChoices([pregunta.createChoice(data[i][1], Boolean(data[i][2])),pregunta.createChoice(data[i][3], Boolean(data[i][4])),pregunta.createChoice(data[i][5], Boolean(data[i][6])),pregunta.createChoice(data[i][7], Boolean(data[i][8]))]);
  }
  
  //Recorre las preguntas marcándolas como obligatorias y puntos asignados
  var items = form.getItems();
  for (var i=0; i<items.length; i++) {
      items[i].asMultipleChoiceItem().setRequired(true);
      items[i].asMultipleChoiceItem().setPoints(1);
  }
 
}

Una vez creado el formulario podemos hacer uso del mismo.

No hay comentarios:

Publicar un comentario

Déjanos tu comentario

:: Liferay. Script para ir al inicio de la página

En diversos temas de apariencia es necesario contar un enlace que permita al usuario realizar un scroll al inicio de la página. Este comport...