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

:: Cookies de nuestra página web. ¿Para qué sirve cada una?

A menudo una pregunta que nos hacen es qué cookies se están utilizando en mi página y para qué sirven. Para ver las cookies, podemos selecci...