Una pregunta que siempre vuelve a l foro de editores de documentos es como crear formularios de forma rápida basándose en un arsenal de preguntas previamente definidas en una HCG (Hoja de cálculo de Google)
Es innegable que la personas siempre deseemos ahorrar tiempo en nuestras tareas, en este caso lo podemos hacer mediante código de programación que conocemos como Google apps script
en este primer ejercicio buscaremos crear un formulario que tiene 100 preguntas "dummy" o de prueba, para que nos iniciemos en la codificación y el uso de clases y métodos propios de los formularios de Google
para ello usaremos una hoja de calculo o Google Sheets que contine en su columna A, esta lista de presuntas preguntas
para ejecutar nuestro script usaremos un menú personalizado, como el que si indica en la imagen anterior
el código Google apps script, es muy simple
la función onOpen que nos creara el menú en la interfaz de la HCG
la función CreaMiFormulario100Preguntas que nos crea el formulario
tal como puedes apreciar.
este código lo puedes encontrar más adelante, para que solo lo copies y pegues en tu editor de secuencia de comandos y no tengas que escribirlo
Debido a que el codigo tardo un poco al ejecutarse decidí adaptarlo a solo 20 preguntas, por lo que comente esta linea: //for(i=0; i < datos.length; i++){
al mismo tiempo incluí una nueva línea: for(i=0; i < 21; i++){ //como es una prueba que cree solo 20 preguntas
para que solo se ejecute 20 veces el bucle for y sea más rápida la prueba, pero si prefieres puedes cambiar o alternar las líneas para que veas su funcionamiento en 20 y 100 preguntas
Dado que es tu primer acercamiento, crearemos un formulario con un mismo tipo de preguntas para hacerlo más sencillo.
al final se emite una alerta en la hoja de calculo para avisar que el formulario ya fue creado y da una url o enlace que deberás copiar y pegar en tu barra de navegación para acceder a ese formulario
El resultado es un formulario creado en cuestión de 1 minuto o menos!! 😎
te recuerdo que puedes copiar el código y probarlo, solo ten en cuenta que deberás hacerlo en el editor de secuencia de comandos de la hoja de calculo donde esta tu lista de preguntas , de otra forma no te funcionara.
el código se encuentra un poco más abajo 👇👇
Considera siempre aplicar lo que yo llamo la regla de oro, que básicamente consiste en realizar pruebas una y otra vez hasta estar seguro de obtener el resultado deseado 😎
Te recomiendo revisar este conjunto de consejos sobre formularios de Google
si tienes alguna consulta, por favor realízala en mi canal de YouTube en el vídeo respectivo, o el que más se parezca al tema.
Suscríbete y Síguenos en:
function onOpen(e) {
SpreadsheetApp.getUi()
.createMenu('Menú de Fredy')
.addItem('Crear Fromulario', 'CreaMiFormulario100Preguntas')
.addToUi();
}
function CreaMiFormulario100Preguntas() {
var Hoja = SpreadsheetApp.getActiveSheet();
var ufila= Hoja.getLastRow();
var datos = Hoja.getDataRange().getValues();
//crea el form a partir de la hoja activa
var nuevoForm = FormApp.create(Hoja.getName()); //'Aqui toma(de la hoja activa) el nombre del formulario'
var url = nuevoForm.getEditUrl();
//for(i=0; i < datos.length; i++){
for(i=0; i < 21; i++){ //como es una prueba que cree solo 20 preguntas
nuevoForm.addMultipleChoiceItem()
.setTitle(datos[i] +'?')
.setChoiceValues(['En total desacuerdo','En desacuerdo','Neutro/no opinión','De acuerdo','Totalmente de acuerdo'])
.showOtherOption(false)
.isRequired();
}
SpreadsheetApp.getUi().alert('Formulario creado!\n' + url);
}