Anuncio

Google Scripts es una herramienta poderosa que puedes usar para automatizar las herramientas de productividad de Google Cómo crear un informe automatizado de hoja de cálculo de Google a partir de datos analíticos Lee mas como Hojas de cálculo y Documentos. La capacidad de enviar correos electrónicos automáticamente lo convierte en un extra herramienta poderosa.

Tal vez usted es un empleado que espera enviar un correo electrónico mensual a su jefe con un cálculo automático fórmulas en Hojas de cálculo de Google Visualice sus datos y haga que sus hojas de cálculo sean fáciles de usar con un panel de ExcelA veces, un formato de hoja de cálculo simple no es lo suficientemente atractivo como para que sus datos sean accesibles. Un panel de control le permite presentar sus datos más importantes en un formato fácil de digerir. Lee mas . O tal vez usted es un gerente que pasa demasiado tiempo enviando correos electrónicos a miembros individuales de su equipo con cosas como datos de rendimiento o actualizaciones de estado. La función Google Scripts que aprenderá en este artículo lo ayudará a realizar estas tareas y mucho más.

instagram viewer

Con un poco de esfuerzo una vez, nunca más tendrá que enviar datos manualmente. Deje que Google Scripts actúe como su propio asistente personal, haciendo todo el trabajo por usted.

Configurar su hoja para enviar correos electrónicos

El primer paso para que su Google Script envíe correo a través de Hojas de cálculo de Google es configurar correctamente un hoja que tiene todos los nombres, direcciones de correo electrónico y mensajes a todas las personas que desea que el script Email.

En mi ejemplo, empiezo con una hoja de cálculo que configuré automáticamente importar todos los artículos publicados para el mes desde Google Analytics Cree un panel de análisis de sitios web asesino con la API de informes de Google Core¿Le gustaría publicar un sitio y ejecutarlo a ciegas, o le gustaría un panel de control funcional y con todas las funciones que le muestre lo que está sucediendo con el sitio en todo momento? Lee mas . He creado una hoja de "Todos los autores" que cuenta los artículos publicados para cada autor, y ahora quiero enviar a cada autor individual un correo electrónico con su cuenta.

Para comenzar, cree su hoja de correo electrónico especial agregando una nueva hoja en su hoja de cálculo actual y llámela algo así como "Enviar correos electrónicos".

enviar correos electrónicos guiones de google

En esta nueva hoja Enviar correos electrónicos, querrá crear un encabezado. Cada fila de esta hoja de cálculo representará un correo electrónico individual que se enviará. Entonces, en este ejemplo, he creado una hoja para el nombre del destinatario, su dirección de correo electrónico y partes del mensaje que voy a juntar dentro del guión.

enviar correos electrónicos guiones de google

Puede crear un correo electrónico de cualquier tamaño y estructura utilizando columnas para unir información estática y dinámica.

enviar correos electrónicos guiones de google

La información estática es solo texto que he escrito en la celda. Esto no cambiará de mes a mes. Es solo una parte del mensaje de correo electrónico que siempre permanece igual. Sin embargo, para los datos que desea cambiar cada mes, puede insertar funciones que importen los datos relevantes de cualquier otra hoja en su hoja de cálculo.

enviar correos electrónicos guiones de google

La idea aquí es que cada vez que abra la hoja para revisar su informe automatizado, tendrá un elemento de menú en el que puede hacer clic para ejecutar el correo electrónico de envío de Google Script y distribuir los resultados a todos. Verá cómo personalizar este nuevo elemento de menú al final de este artículo.

Una vez que haya terminado de crear su hoja, se verá así:

enviar correos electrónicos guiones de google

Ahora que su hoja para todos los correos electrónicos individuales está lista, ¡finalmente es hora de escribir el guión!

Escribir el script de correo electrónico automatizado

Para escribir su guión, debe usar el editor de guiones. Encontrará el editor de scripts debajo de Herramientas menú seleccionando Editor de guiones.

enviar correos electrónicos guiones de google

El editor de guiones se verá más abajo. Deberá crear una nueva función en la parte superior del panel a la derecha.

enviar correos electrónicos guiones de google

Simplemente copie y pegue el script a continuación en el área del script.

función sendArticleCountEmails () {var ss = SpreadsheetApp.getActiveSpreadsheet (); ss.setActiveSheet (ss.getSheetByName ("Enviar correos electrónicos")); var sheet = SpreadsheetApp.getActiveSheet (); var dataRange = sheet.getRange ("A2: F4"); var datos = dataRange.getValues ​​(); para (i en datos) {var rowData = datos [i]; var emailAddress = rowData [1]; destinatario var = rowData [0]; var mensaje1 = rowData [2]; var mensaje2 = rowData [3]; var parámetro2 = rowData [4]; var mensaje3 = rowData [5]; var mensaje = 'Estimado' + destinatario + ', \ n \ n' + mensaje1 + '' + mensaje2 + '' + parámetro2 + '' + mensaje3; var subject = 'Su artículo cuenta para este mes'; MailApp.sendEmail (dirección de correo electrónico, asunto, mensaje); } }

Este script puede parecer algo complicado, pero en realidad no lo es en absoluto. Vamos a desglosarlo para que sepa exactamente lo que está haciendo cada línea.

Rompiendo el Código

Para que esta función funcione correctamente, debe asegurarse de que la hoja donde se almacena toda su información de correo electrónico sea realmente la hoja activa. De lo contrario, todo lo que venga después no funcionará. Para eso son estas dos líneas:

var ss = SpreadsheetApp.getActiveSpreadsheet (); ss.setActiveSheet (ss.getSheetByName ("Enviar correos electrónicos"));

Luego, necesitamos extraer todos los datos de esa hoja. los sábana. GetRange () El método extraerá información de cualquier rango de celdas que proporcione entre comillas. A continuación, el dataRange.getValues ​​() El método en realidad extrae los valores y los almacena en una matriz bidimensional llamada datos.

var sheet = SpreadsheetApp.getActiveSheet (); var dataRange = sheet.getRange ("A2: F4"); var datos = dataRange.getValues ​​();

Ahora que tenemos todos los datos almacenados en una matriz, podemos recorrer la matriz usando un para lazo. Cada elemento de la matriz es una fila que contiene una matriz unidimensional de elementos de columna. Puede hacer referencia a cada columna con un número.

var rowData = datos [i]; var emailAddress = rowData [1]; destinatario var = rowData [0]; var mensaje1 = rowData [2]; var mensaje2 = rowData [3]; var parámetro2 = rowData [4]; var mensaje3 = rowData [5];

Como puede ver arriba, extraje los elementos de la columna en una matriz unidimensional llamada rowData. Luego hago referencia a la segunda columna (para obtener la dirección de correo electrónico) haciendo referencia a rowData [1], el segundo elemento de la matriz (el primer elemento de una matriz siempre es cero).

El siguiente paso en esta función es juntar todos los segmentos de los mensajes que forman el cuerpo del correo electrónico. Lo bueno aquí es que en realidad puedes darle al contenido del correo electrónico un formato bastante bueno usando el \norte carácter, que es un retorno de carro. Así es como se ve la concatenación del cuerpo del correo electrónico:

var mensaje = 'Estimado' + destinatario + ', \ n \ n' + mensaje1 + '' + mensaje2 + '' + parámetro2 + '' + mensaje3;

los + el personaje es el comando de concatenación 15 fórmulas de Excel que lo ayudarán a resolver problemas de la vida realExcel no es solo para negocios. Aquí hay varias fórmulas de Microsoft Excel que lo ayudarán a resolver problemas diarios complejos. Lee mas . Pones texto estático real dentro de comillas simples. Por lo tanto, este mensaje se reconstruye poniendo la palabra "Estimado" delante de la variable del destinatario (observe que "Estimado" tiene un espacio).

Luego, agrega dos retornos de carro al final. Esto iniciará el mensaje real dentro del cuerpo dos líneas hacia abajo. A continuación, agrega el primer segmento del mensaje, un espacio, el segundo segmento del mensaje, un espacio, la variable que se insertará en el mensaje cada mes y, finalmente, la última parte del mensaje.

Puede tener tantas partes del mensaje como desee, simplemente tiene que usar más columnas para crear todo el mensaje en partes.

Las últimas dos líneas del código solo establecen la línea de asunto para el correo electrónico (esto también podría incluir datos de la hoja de cálculo si lo desea), y finalmente el enviar correo electrónico() método.

Cómo activar tu guión

De vuelta en la ventana del Editor de secuencias de comandos, simplemente busque la función "onOpen". Si la función está allí, es probable que vea un montón de código dentro de los corchetes. Vaya al final de ese código e inserte las siguientes líneas:

hoja de cálculo var = SpreadsheetApp.getActive (); var menuItems = [{name: 'Enviar correos electrónicos', functionName: 'sendArticleCountEmails'} ]; spreadsheet.addMenu ('Enviar correos electrónicos', menuItems);

Solo asegúrese de escribir el nombre exacto de su función entre comillas simples para nombre de la función parámetro. Esto cargará un elemento de menú personalizado en su hoja cada vez que se abra su hoja.

enviar correos electrónicos guiones de google

Ahora, cada vez que abra su hoja de cálculo mensualmente para revisar todos sus datos, todo lo que tiene que hacer es hacer clic en el elemento del menú para enviar los correos electrónicos. Esto ejecutará su nueva función y enviará todos esos correos electrónicos por usted. ¡Un trabajo que solía llevarle varias horas ahora solo requerirá un solo clic del mouse!

Google Scripts puede ayudarlo a ahorrar tiempo

Este es solo un ejemplo de las muchas formas en que puede usa Google Scripts para automatizar todo tipo de cosas 4 secuencias de comandos de Google que hacen que las hojas de cálculo de Google sean más potentesGoogle Sheets es excelente desde el primer momento, pero puede ser aún más poderoso si usa los scripts de Google Sheets para mejorar sus capacidades. Lee mas eso te ahorra tiempo. Por ejemplo, puedes use Google Scripts para generar automáticamente un informe de Google Analytics. La parte difícil es solo que requiere un poco de trabajo por adelantado, pero cada minuto que pasa configurando una automatización como esta usando scripting se ahorra muchas horas. ¡Solo piense en todas las otras cosas maravillosas que podría hacer con esas horas!

¿Alguna vez ha usado Google Scripts inteligentes para automatizar su productividad? ¡Comparte tus propios ejemplos en la sección de comentarios a continuación!

Ryan tiene una licenciatura en ingeniería eléctrica. Ha trabajado 13 años en ingeniería de automatización, 5 años en TI y ahora es ingeniero de aplicaciones. Ex editor jefe de MakeUseOf, ha hablado en conferencias nacionales sobre visualización de datos y ha aparecido en la televisión y radio nacionales.