En Google Sheets podemos crear scripts que nos automaticen ciertas acciones a través de Google Apps Script. En algunos casos tenemos que mostrar un mensajes emergentes al usuario, mostrar una notificación o hasta pedir confirmación de alguna acción a realizar. A continuación, explicamos cada tipo de mensaje y cómo usarlos en Google Apps Script.
Cómo mostrar una notificación
Una notificación es simplemente un mensaje que se muestra al usuario. Para mostrar una notificación en Google Apps Script, usaremos el método toast. Este mensaje es un pop-up en la esquina inferior derecha.

El código para mostrar un mensaje tipo notificación es el siguiente:
function notificacionToast() { // Muestra una notificación pop-up en la esquina derecha inferior con un mensaje. SpreadsheetApp.getActiveSpreadsheet().toast("¡Hola! Soy una notificación."); }
¡Así de simple! Con este tipo de mensajes estarás notificando al usuario de algo específico. Además, puedes agregar un título a la notificación y variar el tiempo que se muestra en pantalla.

Para agregarle un título a la notificación, haremos lo siguiente:
function notificacionToast() { // Muestra una notificación pop-up en la esquina derecha inferior con un mensaje y un título. SpreadsheetApp.getActiveSpreadsheet().toast("¡Hola! Soy una notificación.", "Título"); }
Y para definir el tiempo que queremos que la notificación se quede a la vista, haremos lo siguiente:
function notificacionToast() { // Muestra una notificación pop-up en la esquina derecha inferior con un mensaje y un título por 15 segundos. SpreadsheetApp.getActiveSpreadsheet().toast("¡Hola! Soy una notificación.", "Título", 15); }
Por defecto, el mensaje se quedará por 5 segundos en pantalla. Si queremos que el mensaje nunca desaparezca, entonces debemos colocar un número negativo.
Cómo mostrar un mensaje emergente o alerta
Una alerta es un mensaje emergente que muestra información importante al usuario. Para mostrar mensajes emergentes de alerta con Google Apps Script, usaremos el método alert. Este tipo de mensaje suspende la ejecución del script mientras esté abierto, y pide confirmación de una acción a realizar.

El código para mostrar este tipo de mensaje emergente o alerta es el siguiente:
function mensajeAlerta() { // Muestra un mensaje emergente o alerta en el centro de la pantalla. SpreadsheetApp.getUi().alert("¡Hola! Soy una alerta."); }
Por defecto, se tiene el botón de Ok/Aceptar para que el usuario dé confirmación de la alerta. Sin embargo, podemos definir la combinación de botones que queremos incluir:
- Botón de Ok/Aceptar: ui.ButtonSet.OK
- Botones de Ok/Aceptar y Cancelar: ui.ButtonSet.OK_CANCEL
- Botones de Sí y No: ui.ButtonSet.YES_NO
- Botones de Sí, No y Cancelar: ui.ButtonSet.YES_NO_CANCEL

Por ejemplo, si queremos incluir el conjunto de botones de Sí, No y Cancelar, haremos lo siguiente:
function mensajeAlertaSiNoCancelar() { // Muestra un mensaje emergente o alerta en el centro de la pantalla con botones Sí, No y Cancelar SpreadsheetApp.getUi().alert("¡Hola! Soy una alerta.",SpreadsheetApp.getUi().ButtonSet.YES_NO_CANCEL); }
Cómo usar la respuesta del usuario para realizar una acción
Al mostrar el mensaje de alerta, el usuario responde presionando alguno de los botones. Esta respuesta es valiosa para realizar otras acciones. Para usar la respuesta del usuario debemos guardar la respuesta en una variable, y luego hacer un condicional para saber qué botón se seleccionó.
Por ejemplo, usamos el mismo mensaje de alerta anterior, pero ahora si el usuario presiona SÍ, mostraremos el mensaje de «Se confirmó la acción», y si presiona NO, CANCELAR o cierra el mensaje, mostraremos el mensaje de «Se denegó la acción».
function mensajeAlertaSiNoCancelarConRespuesta() { // Muestra un mensaje emergente o alerta en el centro de la pantalla con botones Sí, No y Cancelar, con una acción dependiendo de la respuesta. var resultado = SpreadsheetApp.getUi().alert("¡Hola! Soy una alerta.",SpreadsheetApp.getUi().ButtonSet.YES_NO_CANCEL); // Definir la acción dependiendo de la respuesta del usuario. if (resultado == SpreadsheetApp.getUi().Button.YES) { // El usuario respondió con SÍ SpreadsheetApp.getUi().alert("Se confirmó la acción."); } else { // El usuario respondió con NO, CANCELAR o cerró el mensaje. SpreadsheetApp.getUi().alert("Se denegó la acción."); } }
Este es un ejemplo sencillo, pero se puede colocar otras acciones dentro del condicional, dependiendo lo que deseas realizar según la respuesta del usuario.
Cómo mostrar un mensaje pidiendo información al usuario
Un mensaje emergente que pide información al usuario cuenta con un campo de texto donde el usuario puede escribir. Para mostrar mensajes emergentes pidiendo información con Google Apps Script, usaremos el método prompt. Este tipo de mensaje suspende la ejecución del script mientras esté abierto.

El código para mostrar este tipo de mensaje con campo de texto es el siguiente:
function mensajePidiendoInformacion() { // Muestra un mensaje emergente en el centro de la pantalla que pide información al usuario. SpreadsheetApp.getUi().prompt("¡Hola! Soy un mensaje pidiendo información al usuario"); }
Adicionalmente, podemos obtener y usar el texto ingresado por el usuario. Por ejemplo, con el siguiente código guardamos la respuesta del usuario en una variable, y la mostramos en otro mensaje diciendo «El usuario escribió …».
function mensajePidiendoInformacionConRespuesta() { // Muestra un mensaje emergente en el centro de la pantalla que pide información al usuario, y obtenemos la respuesta. var resultado = SpreadsheetApp.getUi().prompt("¡Hola! Soy un mensaje pidiendo información al usuario"); // Obtener el botón presionado y el texto ingresado var botonPresionado = resultado.getSelectedButton(); var textoIngresado = resultado.getResponseText(); if (botonPresionado == SpreadsheetApp.getUi().Button.OK) { // El usuario respondió con OK SpreadsheetApp.getUi().alert("El usuario escribió " + textoIngresado ); } else { // El usuario cerró el mensaje. SpreadsheetApp.getUi().alert("El usuario canceló el mensaje usando el botón " + botonPresionado); } }
Este es un ejemplo sencillo, pero se puede usar el texto escrito por el usuario para otras acciones.
Recuerda que puedes utilizar botones dentro de Google Sheets para ejecutar un script que abra estos diálogos con mensajes y alertas. Cualquier consulta, por favor déjanos un comentario para poder ayudarte.
¿Este contenido te fue útil? Invítame un cafecito y ayúdame seguir creando más contenido. ¡Gracias! ♥︎
Invítame un cafecito