En este tutorial te voy a enseñar cómo crear alertas interactivas en Google Sheets usando Google Apps Script. Estas alertas, también conocidas como popups o cuadros de diálogo, son muy útiles para mostrar mensajes al usuario, solicitar confirmaciones o incluso tomar decisiones en tiempo real dentro de una hoja de cálculo. Aprenderás desde cómo mostrar un simple mensaje hasta cómo capturar la respuesta del usuario para ejecutar diferentes acciones según su elección, haciendo tus hojas mucho más dinámicas y profesionales.
Si prefieres ver este tutorial en video, te lo dejo a continuación:
¿Qué es una alerta en Google Apps Script?
Una alerta es una ventana emergente que aparece en pantalla para mostrar un mensaje al usuario. Pueden usarse para informar, advertir o pedir confirmación antes de realizar una acción. En Google Apps Script, las alertas se crean mediante el método alert() de la interfaz de usuario (SpreadsheetApp.getUi()), que permite personalizar el mensaje y los botones que se muestran.
Primeros pasos: Mostrar una alerta básica
Para comenzar, abre tu hoja de cálculo en Google Sheets y ve a Extensiones > Apps Script. Allí crea una función llamada generarAlerta con este código simple:
function generarAlerta() {
const ui = SpreadsheetApp.getUi();
ui.alert("Hola mundo");
}
Con este código, cuando ejecutes la función, aparecerá una alerta con el mensaje «Hola mundo». El usuario debe hacer clic en «Aceptar» para que el código continúe.
Personalizar la alerta con variables
Podemos hacer que el mensaje sea dinámico usando variables. Por ejemplo, para saludar a un usuario por su nombre:
function generarAlerta() {
const ui = SpreadsheetApp.getUi();
const nombre = "Juan";
ui.alert("Hola " + nombre);
}
Además, podemos incluir la fecha actual formateada para que el mensaje sea más completo:
function generarAlerta() {
const ui = SpreadsheetApp.getUi();
const nombre = "Juan";
const fecha = Utilities.formatDate(new Date(), "GMT-5", "d 'de' MMMM");
ui.alert("Hola " + nombre + ".nHoy es " + fecha);
}
El n se usa para hacer un salto de línea dentro del mensaje, facilitando la lectura.
Obtener datos desde Google Sheets para alertas dinámicas
En vez de usar valores fijos, puedes tomar datos directamente de las celdas de tu hoja de cálculo. Por ejemplo, si el nombre está en la celda B1:
function generarAlerta() {
const ui = SpreadsheetApp.getUi();
const hoja = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const nombre = hoja.getRange("B1").getValue();
const fecha = Utilities.formatDate(new Date(), "GMT-5", "d 'de' MMMM");
ui.alert("Hola " + nombre + ".nHoy es " + fecha);
}
Así, si cambias el nombre en la celda B1, el mensaje se actualizará automáticamente, haciendo tus alertas mucho más flexibles y útiles.
Agregar botones para interacción: Sí / No, Aceptar / Cancelar
Las alertas pueden tener diferentes botones para que el usuario tome decisiones. Google Apps Script ofrece varias opciones con ui.ButtonSet. Aquí un ejemplo con botones Sí / No:
function generarAlerta() {
const ui = SpreadsheetApp.getUi();
const nombre = "María";
const fecha = Utilities.formatDate(new Date(), "GMT-5", "d 'de' MMMM");
const mensaje = "Hola " + nombre + ".nHoy es " + fecha + ".n¿Deseas continuar?";
const respuesta = ui.alert("Mensaje de alerta", mensaje, ui.ButtonSet.YES_NO);
if (respuesta === ui.Button.YES) {
ui.alert("Has dado clic en SÍ");
} else if (respuesta === ui.Button.NO) {
ui.alert("Has dado clic en NO");
}
}
También puedes usar ui.ButtonSet.OK_CANCEL para botones Aceptar/Cancelar, o ui.ButtonSet.YES_NO_CANCEL para incluir Cancelar.
Valores que devuelve la alerta según el botón presionado
Cuando usas alert() con botones, la función devuelve un valor que indica cuál botón presionó el usuario. Estos valores son los siguientes:
| Botón | Valor devuelto |
|---|---|
| Sí | ui.Button.YES |
| No | ui.Button.NO |
| Cancelar | ui.Button.CANCEL |
| Aceptar | ui.Button.OK |
Cómo agregar un título a tu alerta para mayor claridad
Para que la alerta se vea más profesional, puedes agregar un título como primer argumento en el método alert(). Ejemplo:
ui.alert("Mensaje de alerta", mensaje, ui.ButtonSet.YES_NO);
El primer parámetro es el título que aparecerá en la ventana emergente, seguido del mensaje y el conjunto de botones.
Ejecutar la alerta desde un botón en la hoja de cálculo
Una forma muy práctica de ejecutar tus alertas es desde un botón dentro de la hoja. Así puedes mostrarlas cuando el usuario quiera, sin abrir el editor de Apps Script. Para hacerlo sigue estos pasos:
- Desde el menú, ve a Insertar > Dibujo.
- Dibuja un botón (un rectángulo con texto funciona bien) y guárdalo.
- Haz clic en el dibujo y selecciona “Asignar secuencia de comandos”.
- Escribe el nombre de la función, por ejemplo
generarAlerta, sin paréntesis.
Ahora al hacer clic en el botón, se ejecutará la alerta que definiste en tu script.
Mostrar la alerta automáticamente al abrir el archivo
También puedes hacer que la alerta se muestre automáticamente al abrir la hoja de cálculo, usando la función especial onOpen(). Solo añade este código:
function onOpen() {
generarAlerta();
}
Esto es útil para mostrar mensajes de bienvenida, instrucciones importantes o advertencias justo al abrir el archivo.
Consejos adicionales para tus alertas en Google Sheets
Para mejorar la experiencia del usuario con tus alertas, ten en cuenta estos tips:
- Usa mensajes claros y breves: Evita saturar al usuario con texto largo.
- Personaliza según el contexto: Usa datos dinámicos para que el mensaje sea relevante.
- Controla la lógica según la respuesta: Usa condicionales para ejecutar diferentes acciones según el botón que se presione.
- Evita abusar de las alertas: Muchas ventanas emergentes pueden molestar al usuario.
Conclusión
Como viste en este tutorial, las alertas en Google Apps Script son una herramienta poderosa para interactuar con el usuario dentro de Google Sheets. Puedes mostrar mensajes personalizados, capturar decisiones y ejecutar acciones dinámicas según la respuesta. Aprendiste a mostrar mensajes simples, incluir datos de tu hoja, usar diferentes botones y ejecutar alertas desde botones o automáticamente al abrir el archivo. Todo esto te permite hacer tus hojas mucho más interactivas y profesionales.
Si quieres ir más allá y aprender a automatizar procesos completos con Google Apps Script, te invito a inscribirte en mi academia JuanSGuzman, donde profundizamos en estos temas con ejemplos prácticos y soporte personalizado.
Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.