Come inviare e-mail in un foglio Google con gli script di Google

Come inviare e-mail in un foglio Google con gli script di Google / Programmazione

Google Scripts è uno strumento potente che puoi utilizzare per automatizzare gli strumenti di produttività di Google Come creare un rapporto di foglio di calcolo di Google automatizzato dai dati di Analytics Come creare un rapporto di foglio di calcolo di Google automatizzato dai dati di Analytics Leggi di più come fogli e documenti. La possibilità di inviare automaticamente e-mail lo rende un extra strumento potente.

Forse sei un dipendente che spera di inviare una email mensile al tuo capo con formule calcolate automaticamente in Fogli Google Visualizza i tuoi dati e crea i tuoi fogli di calcolo User friendly con una dashboard di Excel Visualizza i tuoi dati e crea i tuoi fogli di calcolo User friendly con un dashboard Excel A volte, un semplice formato di foglio di calcolo non è abbastanza coinvolgente per rendere i tuoi dati accessibili. Una dashboard ti consente di presentare i tuoi dati più importanti in un formato facile da digerire. Leggi di più . O forse sei un manager che spende troppo tempo a inviare email ai singoli membri del tuo team con dati di performance o aggiornamenti di stato. La funzione di Google Script che impari in questo articolo ti aiuterà a svolgere queste attività e molto altro ancora.

Con un piccolo sforzo, una volta, non dovrai mai più inviare manualmente i dati. Lascia che Google Scripts agisca come tuo assistente personale, facendo tutto il lavoro per te.

Impostazione del foglio per l'invio di e-mail

Il primo passo per far sì che il tuo Google Script invii posta tramite Fogli Google è impostare correttamente un foglio con tutti i nomi, gli indirizzi e-mail e i messaggi di tutte le persone che vuoi che lo script invii per e-mail.

Nel mio esempio, sto iniziando con un foglio di lavoro che ho impostato per importare automaticamente tutti gli articoli pubblicati per il mese da Google Analytics Crea una dashboard di Analytics per il sito Web di Killer con l'API di reporting di Google Core Crea un dashboard di Google Analytics per i siti Web con Google API Core Reporting Vorresti pubblicare un sito e eseguirlo alla cieca, oppure ti piacerebbe un dashboard funzionale e completo che ti mostrasse in ogni momento cosa sta succedendo nel sito? Leggi di più . Ho creato un “Tutti gli autori” foglio che raccoglie gli articoli pubblicati per ogni autore, e ora voglio inviare ad ogni singolo autore una mail con il loro conteggio.

Per iniziare, crea il tuo foglio di posta elettronica speciale aggiungendo un nuovo foglio nel tuo foglio di calcolo corrente e chiamalo come “Inviare emails”.

In questo nuovo foglio di e-mail, ti consigliamo di creare un'intestazione. Ogni riga di questo foglio di lavoro rappresenta una singola email che verrà inviata. Quindi in questo esempio ho creato un foglio per il nome del destinatario, il loro indirizzo email e le parti del messaggio che ho intenzione di mettere insieme all'interno dello script.

È possibile creare un messaggio di posta elettronica di qualsiasi dimensione e struttura utilizzando le colonne per mettere insieme informazioni statiche e dinamiche.

Le informazioni statiche sono solo testo che ho digitato nella cella. Questo non cambierà di mese in mese. È solo una parte del messaggio e-mail che rimane sempre uguale. Tuttavia, per i dati che desideri modificare ogni mese, puoi inserire funzioni che importeranno i dati rilevanti da qualsiasi altro foglio nel tuo foglio di calcolo.

L'idea è che ogni volta che apri il foglio per esaminare il tuo rapporto automatizzato, avrai una voce di menu che puoi cliccare per eseguire l'e-mail di invio di Google Script e distribuire i risultati a tutti. Vedrai come personalizzare questa nuova voce di menu in fondo a questo articolo.

Una volta che hai finito di creare il tuo foglio, sarà simile a questo:

Ora che il tuo foglio per tutte le e-mail individuali è pronto, è finalmente giunto il momento di scrivere lo script!

Scrivere lo script di posta elettronica automatico

Per scrivere il tuo script, devi usare l'editor di script. Troverete l'editor di script sotto il Utensili menu selezionando Editor di script.

L'editor di script avrà un aspetto simile al seguente. Avrai bisogno di crare una nuova funzione nella parte superiore del riquadro a destra.

Basta copiare e incollare lo script qui sotto nell'area di script.

function sendArticleCountEmails () var ss = SpreadsheetApp.getActiveSpreadsheet (); ss.setActiveSheet (ss.getSheetByName ( "send-emails")); var sheet = SpreadsheetApp.getActiveSheet (); var dataRange = sheet.getRange ("A2: F4"); var data = dataRange.getValues ​​(); for (i in data) var rowData = data [i]; var emailAddress = rowData [1]; var destinatario = rowData [0]; var message1 = rowData [2]; var message2 = rowData [3]; var parameter2 = rowData [4]; var message3 = rowData [5]; var message = 'Gentile' + destinatario + ', \ n \ n' + messaggio1 + "+ messaggio2 +" + parametro2 + "+ messaggio3; var subject = 'Il numero di articoli per questo mese'; MailApp.sendEmail (indirizzo email, oggetto , Messaggio);  

Questo script può sembrare un po 'complicato, ma in realtà non lo è affatto. Scopriamolo per sapere esattamente cosa sta facendo ogni linea.

Abbattere il codice

Affinché questa funzione funzioni correttamente, è necessario assicurarsi che il foglio in cui sono archiviate tutte le informazioni e-mail sia effettivamente il foglio attivo. Altrimenti tutto ciò che viene dopo non funzionerà. Ecco a cosa servono queste due linee:

var ss = SpreadsheetApp.getActiveSpreadsheet (); ss.setActiveSheet (ss.getSheetByName ( "send-emails"));

Successivamente, abbiamo bisogno di estrarre tutti i dati da quel foglio. Il sheet.GetRange () il metodo estrarrà le informazioni da qualsiasi intervallo di celle che fornisci tra virgolette. Quindi, il dataRange.getValues ​​() il metodo estrae effettivamente i valori e li memorizza in un array bidimensionale chiamato dati.

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

Ora che disponiamo di tutti i dati memorizzati in un array, possiamo eseguire il ciclo attraverso l'array usando a per ciclo continuo. Ogni elemento dell'array è una riga che contiene una matrice monodimensionale di elementi di colonna. È possibile fare riferimento a ciascuna colonna utilizzando un numero.

var rowData = data [i]; var emailAddress = rowData [1]; var destinatario = rowData [0]; var message1 = rowData [2]; var message2 = rowData [3]; var parameter2 = rowData [4]; var message3 = rowData [5];

Come puoi vedere sopra, ho richiamato gli elementi della colonna in un array unidimensionale chiamato rowData. Quindi faccio riferimento alla seconda colonna (per ottenere l'indirizzo email) facendo riferimento rowData [1], il secondo elemento dell'array (il primo elemento di un array è sempre zero).

Il prossimo passo in questa funzione è quello di mettere insieme tutti i segmenti dei messaggi che costituiscono il corpo dell'email. La cosa bella qui è che puoi effettivamente dare al contenuto dell'email un formato piuttosto buono usando il \ n carattere, che è un ritorno a capo. Ecco come appare la concatenazione del corpo del messaggio:

var message = 'Caro' + destinatario + ', \ n \ n' + messaggio1 + "+ messaggio2 +" + parametro2 + "+ messaggio3;

Il + carattere è il comando di concatenazione 16 Formule di Excel che ti aiuteranno a risolvere problemi di vita reale 16 Formule di Excel che ti aiuteranno a risolvere problemi di vita reale Lo strumento giusto è metà del lavoro. Excel può risolvere calcoli ed elaborare i dati più velocemente di quanto tu possa trovare la tua calcolatrice. Vi mostriamo le formule chiave di Excel e dimostriamo come usarle. Leggi di più . Metti il ​​testo statico reale all'interno di virgolette singole. Quindi questo messaggio è messo insieme mettendo la parola “caro ” di fronte alla variabile del destinatario (avviso “caro ” ha uno spazio).

Successivamente, aggiungi due ritorni a capo alla fine. Ciò avvierà il messaggio effettivo all'interno del corpo di due righe in basso. Successivamente aggiungi il primo segmento di messaggio, uno spazio, il secondo segmento di messaggio, uno spazio, la variabile che verrà inserita nel messaggio ogni mese e infine l'ultima parte del messaggio.

Puoi avere quante parti del messaggio vuoi, devi semplicemente usare più colonne per creare l'intero messaggio in pezzi.

Le ultime due righe del codice hanno appena impostato la riga dell'oggetto per l'email (questo potrebbe includere anche i dati del foglio di calcolo, se lo si desidera), e infine il invia una email() metodo.

Come attivare il tuo script

Di nuovo nella finestra di Script Editor, cerca solo il “onOpen” funzione. Se la funzione è presente, probabilmente vedrai un mucchio di codice all'interno delle parentesi. Vai in fondo a quel codice e inserisci le seguenti linee:

var spreadsheet = SpreadsheetApp.getActive (); var menuItems = [nome: 'Invia email', functionName: 'sendArticleCountEmails']; spreadsheet.addMenu ('Invia email', menuItems);

Assicurati di digitare il nome esatto della tua funzione tra virgolette singole per functionName parametro. Questo caricherà una voce di menu personalizzata nel tuo foglio ogni volta che il foglio si apre.

Ora, ogni volta che apri il tuo foglio di calcolo su base mensile per rivedere tutti i tuoi dati, tutto ciò che devi fare è cliccare sulla voce di menu per inviare le email. Questo eseguirà la tua nuova funzione e invierà tutte quelle email per te. Un lavoro che richiedeva parecchie ore ora richiede solo un clic del mouse!

Google Scripts può aiutarti a risparmiare tempo

Questo è solo un esempio dei molti modi in cui puoi utilizzare Google Scripts per automatizzare ogni sorta di cose 4 Google Scripts che rende Google Sheets molto più potente 4 Google Scripts che rendono Google Sheets molto più potenti Google Sheets è eccezionale, ma può essere ancora più potente se usi gli script di Google per migliorare le sue capacità. Leggi di più che ti fa risparmiare tempo. Ad esempio, puoi utilizzare Google Scripts per generare automaticamente un rapporto di Google Analytics. La parte difficile è solo che ci vuole un po 'di lavoro in anticipo, ma ogni minuto che passi a impostare l'automazione in questo modo usando gli script è molte ore salvate. Pensa a tutte le altre cose meravigliose che potresti fare con quelle ore!

Hai mai utilizzato intelligenti script di Google per automatizzare la tua produttività? Condividi i tuoi esempi nella sezione commenti qui sotto!

Scopri di più su: Google Apps, foglio di calcolo.