Utilice Google Sheets para enviar un correo electrónico basado en el valor de la celda
En el siguiente tutorial, aprenderá cómo verificar el valor de una celda en Google Sheets, y si el valor supera un límite determinado, puede enviar automáticamente un correo electrónico de alerta a cualquier dirección de correo electrónico que desee..
Hay muchos usos para este script. Podría recibir una alerta si las ganancias diarias en su informe de ventas caen por debajo de un cierto nivel. O puede recibir un correo electrónico si sus empleados informan que han facturado al cliente durante demasiadas horas, en la hoja de cálculo de seguimiento de su proyecto..
No importa la aplicación, este script es muy poderoso. También le ahorrará el tiempo de tener que monitorear las actualizaciones de la hoja de cálculo manualmente.
Paso 1: Enviar un correo electrónico con Google Sheets
Antes de que pueda crear un Script de Google Apps para enviar un correo electrónico desde Google Sheets, también necesitará una dirección de correo electrónico de Gmail, a la que tendrá acceso el Script de Google Apps para enviar sus correos electrónicos de alerta..
También deberá crear una nueva hoja de cálculo que contenga una dirección de correo electrónico..
Solo agregue una columna de nombre y una columna de correo electrónico, y complete con la persona que desea recibir el correo electrónico de alerta.
Ahora que tiene una dirección de correo electrónico para enviar un correo electrónico de alerta, es hora de crear su script.
Para entrar en el editor de script, haga clic en Herramientas, y luego haga clic Editor de guiones.
Verás una ventana de script con una función predeterminada llamada miFunción (). Renombra esto a Enviar correo electrónico().
A continuación, pegue el siguiente código dentro de la función SendEmail ():
// Obtener la dirección de correo electrónico var emailRange = SpreadsheetApp.getActiveSpreadsheet (). GetSheetByName ("Sheet1"). GetRange ("B2"); var emailAddress = emailRange.getValues (); // Enviar correo electrónico de alerta. var message = '¡Este es tu correo electrónico de alerta!'; // Segunda columna var subject = 'Your Google Spreadsheet Alert'; MailApp.sendEmail (emailAddress, asunto, mensaje);
Así es como funciona este código:
- getRange y getValues extrae el valor de la celda especificada en el método getRange.
- mensaje var y sujeto var Define el texto que va a construir tu alerta de correo electrónico..
- los MailApp.sendEmail la función finalmente realiza la función de correo electrónico de Google Scripts usando su cuenta de Google conectada.
Guarde el script haciendo clic en el disco icono, y luego ejecutarlo haciendo clic en el correr icono (flecha derecha).
Tenga en cuenta que Google Script necesita permiso para acceder a su cuenta de Gmail para enviar el correo electrónico. Así que la primera vez que ejecute el script puede ver una alerta como la siguiente.
Haga clic en Revisar permisos, y verás otra pantalla de alerta que deberás pasar por alto.
Esta pantalla de alerta se debe al hecho de que está escribiendo un script de Google personalizado que no está registrado como oficial.
Solo haga clic en Avanzado, y luego haga clic en el Ir a SendEmail (no seguro) enlazar.
Solo necesitarás hacer esto una vez. Su secuencia de comandos se ejecutará y la dirección de correo electrónico que especificó en su hoja de cálculo recibirá un correo electrónico como el que se muestra a continuación..
Paso 2: Leer un valor de una celda en las hojas de Google
Ahora que ha escrito con éxito un script de Google Apps que puede enviar un correo electrónico de alerta, es hora de hacer que ese correo electrónico de alerta sea más funcional..
El siguiente paso que aprenderá es cómo leer un valor de datos de una hoja de cálculo de Google, verificar el valor y emitir un mensaje emergente si ese valor está por encima o por debajo de un límite superior.
Antes de poder hacer esto, deberá crear otra hoja en la hoja de cálculo de Google con la que está trabajando. Llame a esta nueva hoja "MyReport".
Tenga en cuenta que la celda D2 es la que desea comprobar y comparar. Imagine que desea saber cada mes si sus ventas totales han caído por debajo de $ 16,000.
Vamos a crear el script de Google Apps que hace eso..
Vuelve a la ventana del editor de secuencias de comandos haciendo clic en Herramientas y entonces Editor de guiones.
Si está utilizando la misma hoja de cálculo, todavía tendrá la Enviar correo electrónico() Funcionar allí. Cortar ese código y pegarlo en el Bloc de notas. Lo necesitaras mas tarde.
Pegue la siguiente función en la ventana de código.
Función CheckSales () // Obtenga las ventas mensuales var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); var ui = SpreadsheetApp.getUi (); // Verificar ventas totales si (monthSales < 16000) ui.alert('Sales too low!');
Cómo funciona este código:
- Cargar el valor desde la celda D2 en el mesVentas variable.
- La declaración SI compara las ventas mensuales en la celda D2 con $ 16,000
- Si el valor es más de 16,000, el código activará un cuadro de mensaje del navegador con una alerta.
Guarde este código y ejecútelo. Si funciona correctamente, debería ver el siguiente mensaje de alerta en su navegador.
Ahora que tiene un Script de Google Apps que puede enviar una alerta por correo electrónico y otro que puede comparar un valor de una hoja de cálculo, está listo para combinar los dos y enviar una alerta en lugar de desencadenar un mensaje de alerta..
Paso 3: Poniéndolo todo junto
Ahora es el momento de combinar los dos scripts que ha creado en un solo script.
Para este punto, debe tener una hoja de cálculo con una pestaña llamada Hoja1 que contiene el destinatario del correo electrónico de alerta. La otra pestaña llamada MyReport contiene toda su información de ventas.
De vuelta en el Editor de secuencias de comandos, es hora de poner todo lo que has aprendido hasta ahora para practicar.
Reemplace todo el código en el editor de scripts con sus dos funciones, editado como se muestra aquí.
Función CheckSales () // Obtenga las ventas mensuales var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); // Verificar ventas totales si (monthSales < 16000) // Fetch the email address var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2"); var emailAddress = emailRange.getValues(); // Send Alert Email. var message = 'This month your sales were ' + monthSales; // Second column var subject = 'Low Sales Alert'; MailApp.sendEmail(emailAddress, subject, message);
Note las ediciones aquí.
Dentro de la sentencia IF, simplemente pegue el Enviar correo electrónico guión dentro de la CheckSales () Función, dentro de los paréntesis if..
En segundo lugar, concatenar el mesVentas variable al final del mensaje de correo electrónico utilizando el + personaje.
Lo único que queda por hacer es activar la función CheckSales () cada mes.
Para ello, en el editor de scripts:
- Haga clic en el Editar elemento de menú, y luego haga clic en Activos del proyecto actual.
- En la parte inferior de la pantalla, haga clic en crear un nuevo gatillo.
- Selecciona el CheckSales función para ejecutar.
- Cambio Seleccione el origen del evento a impulsado por el tiempo.
- Cambio Seleccione el tipo de disparador basado en el tiempo a Mes temporizador.
Hacer clic Salvar para finalizar el gatillo.
Ahora, cada mes se ejecutará su nuevo script y comparará el monto total de las ventas mensuales en la celda D2 con $ 16,000.
Si es menos, le enviará un correo electrónico de alerta informándole de las bajas ventas mensuales..
Como puede ver, los scripts de Google Apps incluyen una gran cantidad de funcionalidades en un paquete pequeño. Con solo unas pocas líneas de código, puedes hacer algunas cosas bastante sorprendentes.
Si desea experimentar un poco más, intente agregar el límite de comparación de $ 16,000 en otra celda de la hoja de cálculo, y luego lea eso en su script antes de hacer la comparación. De esta manera, puede cambiar el límite simplemente cambiando el valor en la hoja.
Al ajustar el código y agregar nuevos bloques de código, puedes aprovechar estas simples cosas que aprendes, para construir eventualmente algunos increíbles scripts de Google..