Immaginiamo di avere in Spreadsheet un elenco di indirizzi email a cui vogliamo inviare un messaggio personalizzato.
A tale scopo creiamo un nuovo file con un foglio contenente degli indirizzi nel modo seguente:
Adesso creiamo un bottone al quale collegare lo script che andremo a comporre successivamente. Per aggiungere un pulsante nel foglio di calcolo dobbiamo usare un’immagine, a differenza di quanto accadeva in Excel dove si possono inserire pulsanti da interfaccia. All’immagine assoceremo poi uno script.
Per aggiungere un’immagine andiamo su Inserisci > Immagine…
Prendiamo un’immagine dal nostro computer oppure cerchiamola su Google. Dovremmo arrivare ad una situazione come questa:
A questo punto andiamo su Strumenti > Editor di script e aggiungiamo il nostro script.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
function InviaEmailAllaLista() { var foglio = SpreadsheetApp.getActiveSheet(); var indirizzi = foglio.getRange("A:A").getValues(); var oggetti = foglio.getRange("B:B").getValues(); var messaggi = foglio.getRange("C:C").getValues(); var riga = 1; while( true ) { if( indirizzi[riga] == "" ) { break; } GmailApp.sendEmail(indirizzi[riga], oggetti[riga], messaggi[riga]); riga++; } Browser.msgBox("Tutte le email sono state inviate!"); } |
Con GmailApp.sendEmail() invieremo l’email utilizzando la nostra casella di posta, mentre con Browser.msgBox() lanceremo un messaggio di conferma delle email inviate.
Fatto questo torniamo nello spreadsheet e clicchiamo col destro sull’immagine. Vedremo comparire in alto a destra dei puntini, clicchiamoci sopra per aprire il menù contestuale.
Scegliamo Assegna script… e nella finestra inseriamo il nome della nostra funzione, ovvero InviaEmailAllaLista
Fatto questo possiamo cliccare sul nostro pulsante e testare il nostro nuovo script.
Se abbiamo fatto tutto bene riceveremo un messaggio di conferma.
Grazie Petar della condivisione.Volevo però chiederti una cosa..Se volessi inserire come allegato alle email una serie di informazioni che si trovano sullo stesso foglio attivo all interno di un un determinato range di celle (nella fattispecie A1:D29), come diventerebbe il codice?
Grazie per l aiuto
Ciao, Giancarlo un po’ tardivamente ho pubblicato qui una soluzione con allegati https://petarkaran.it/2019/08/21/apps-script-inviare-tramite-gmail-unemail-con-allegato-da-drive/