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 uno strumento estremamente 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 foglio "Tutti gli autori" che riporta gli articoli pubblicati per ciascun autore, e ora voglio inviare a ogni singolo autore un'email 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 qualcosa come "Invia-E-mail".
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 si desidera modificare ogni mese, è possibile inserire funzioni che importeranno i dati rilevanti da qualsiasi altro foglio nel 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 la sceneggiatura!
Scrivere lo script di posta elettronica automatico
Per scrivere il tuo script, devi usare l'editor di script. Troverai l'editor di script sotto il menu Strumenti 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 recipient = rowData[0]; var message1 = rowData[2]; var message2 = rowData[3]; var parameter2 = rowData[4]; var message3 = rowData[5]; var message = 'Dear ' + recipient + ', \n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3; var subject = 'Your article count for this month'; MailApp.sendEmail(emailAddress, subject, message); } }
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 metodo sheet.GetRange () estrarrà informazioni da qualsiasi intervallo di celle che fornisci tra virgolette. Successivamente, il metodo dataRange.getValues () estrae effettivamente i valori e li archivia in una matrice bidimensionale chiamata dati .
var sheet = SpreadsheetApp.getActiveSheet(); var dataRange = sheet.getRange("A2:F4"); var data = dataRange.getValues();
Ora che disponiamo di tutti i dati memorizzati in una matrice, possiamo eseguire il looping della matrice utilizzando un ciclo for . 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 recipient = rowData[0]; var message1 = rowData[2]; var message2 = rowData[3]; var parameter2 = rowData[4]; var message3 = rowData[5];
Come puoi vedere sopra, ho tirato gli elementi della colonna in un array unidimensionale chiamato rowData . Quindi faccio riferimento alla seconda colonna (per ottenere l'indirizzo email) facendo riferimento a 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 buon formato usando il carattere \ n, che è un ritorno a capo. Ecco come appare la concatenazione del corpo del messaggio:
var message = 'Dear ' + recipient + ', \n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;
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 viene messo insieme mettendo la parola "Caro" davanti 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 si aggiunge 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 righe del codice hanno appena impostato l'oggetto per l'e-mail (questo potrebbe includere anche i dati del foglio di calcolo se lo si desidera) e infine il metodo sendEmail () .
Come attivare il tuo script
Di nuovo nella finestra di Script Editor, basta cercare la funzione "onOpen". 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 = [ {name: 'Send Emails', functionName: 'sendArticleCountEmails'} ]; spreadsheet.addMenu('Send Emails', menuItems);
Assicurati di digitare il nome esatto della tua funzione tra virgolette singole per il parametro functionName . 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. 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!