Actualizar desplegables de Google Forms desde Google Sheets

Hoy vamos a aprender a traer opciones de una lista desplegable desde Google Sheets a Google Forms. Veremos cómo integrar Sheets y Forms, y crear un script que nos permita automatizar este proceso. Este tutorial es ideal para aquellos que buscan optimizar la gestión de formularios y hojas de cálculo.

Paso 1: Crear el Formulario de Google

Primero, vamos a crear un formulario en Google Forms.

  1. Abrimos Google Forms.
  2. Creamos un nuevo formulario llamado “Cursos de Productividad”.
  3. Agregamos las siguientes preguntas:
  • Nombre (Texto)
  • Email (Texto)
  • ¿Qué cursos deseas información? (Opción múltiple)

Paso 2: Crear la Hoja de Cálculo en Google Sheets

Vamos a crear una hoja de cálculo para almacenar las opciones de los cursos.

  1. Abrimos Google Sheets.
  2. Creamos una nueva hoja de cálculo llamada “Cursos de Productividad Respuestas”.
  3. Añadimos una pestaña llamada “Cursos”.
  4. En la pestaña “Cursos”, agregamos los nombres de los cursos en la primera columna.
| Cursos                 |
|------------------------|
| GTD                   |
| Procrastinación       |
| Gestión del Tiempo    |

Paso 3: Crear el Código en Google Apps Script

Vamos a crear el código que conectará Google Sheets con Google Forms.

  1. Abrimos el Editor de secuencias de comandos desde Google Sheets:
  • Herramientas > Editor de secuencia de comandos
  1. Creamos un nuevo proyecto llamado “Formulario de Cursos”.

Código para Llenar las Opciones del Formulario

function llenarOpcionesCursos() {
  // Conectarse a la hoja de cálculo
  var ss = SpreadsheetApp.openById('ID_DE_LA_HOJA_DE_CALCULO');
  var sheet = ss.getSheetByName('Cursos');

  // Obtener los cursos desde la hoja de cálculo
  var cursos = sheet.getRange(2, 1, sheet.getLastRow() - 1).getValues();

  // Convertir los cursos a un arreglo plano
  var opcionesCursos = cursos.map(function(row) {
    return row[0];
  }).filter(function(opcion) {
    return opcion !== '';
  });

  // Conectarse al formulario
  var form = FormApp.openById('ID_DEL_FORMULARIO');

  // Obtener la pregunta de opciones múltiples
  var pregunta = form.getItems(FormApp.ItemType.MULTIPLE_CHOICE)
                     .filter(function(item) {
                       return item.getTitle() === '¿Qué cursos deseas información?';
                     })[0].asMultipleChoiceItem();

  // Actualizar las opciones de la pregunta
  pregunta.setChoiceValues(opcionesCursos);
}

Reemplacemos 'ID_DE_LA_HOJA_DE_CALCULO' y 'ID_DEL_FORMULARIO' con los valores correspondientes de nuestras herramientas.

Añadir un Activador para Automatizar el Proceso

Queremos que cada vez que se actualicen los cursos en Google Sheets, el formulario se actualice automáticamente. Para ello, vamos a añadir un activador.

  1. En el Editor de secuencias de comandos, vamos a:
  • Editar > Activadores del proyecto actual > Añadir un activador
  1. Configuramos el activador:
  • Elegir función: llenarOpcionesCursos
  • Fuente del evento: Al modificar

Guardamos los cambios y ahora nuestro script se ejecutará automáticamente cada vez que modifiquemos la hoja de cálculo.

Paso 4: Probar el Script

Vamos a probar el script para asegurarnos de que todo funcione correctamente.

  1. Añadimos un nuevo curso en la hoja de cálculo.
  2. Verificamos que el formulario se haya actualizado automáticamente con la nueva opción.

Conclusión

Hemos aprendido a integrar Google Sheets con Google Forms utilizando Google Apps Script. Este tutorial nos permite automatizar el proceso de actualización de formularios, mejorando la eficiencia y reduciendo el riesgo de errores. Espero que este tutorial les sea útil y que puedan aplicarlo en sus proyectos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Share This