Slik sender du e-post i et Google-ark med Google-skript

Lær hvordan du bruker Google Skript for å automatisere Google produktivitetsverktøy som Arkiv og Dokumenter, og spar deg timervis.

Lær hvordan du bruker Google Skript for å automatisere Google produktivitetsverktøy som Arkiv og Dokumenter, og spar deg timervis.
Annonse

Google Skript er et kraftig verktøy du kan bruke til å automatisere Google produktivitetsverktøy. Slik oppretter du en automatisk Google-regnearkrapport fra Analytics-data Slik oppretter du en automatisk Google-regnearkrapport fra Analytics-data Les mer som Arkiv og Dokumenter. Evnen til å sende e-post automatisk gjør det til et ekstra kraftig verktøy.

Kanskje du er en ansatt i håp om å sende en månedlig e-post til sjefen din med automatisk beregnede formler i Google Sheets Visualisere dataene dine og lage regnearkene dine Brukervennlige med et Excel Dashboard Visualiser dataene dine og gjør regnearkene dine brukervennlige med et Excel Dashboard Noen ganger er et enkelt regnearkformat ikke engasjerende nok til å gjøre dataene dine tilgjengelige. Et dashbord lar deg presentere dine viktigste data i et lett å fordøye format. Les mer . Eller kanskje du er en leder som bruker alt for mye tid til å sende e-post til individuelle medlemmer av teamet ditt med ting som resultatdata eller statusoppdateringer. Google Scripts-funksjonen du vil lære i denne artikkelen, hjelper deg med å oppnå disse oppgavene og mye mer.

Med litt innsats en gang, må du aldri manuelt sende ut data igjen. La Google Scripts fungere som din egen personlige assistent, og gjør alt arbeidet for deg.

Sette opp arket ditt for å sende e-post

Det første trinnet for å få Google Script til å sende e-post via Google Sheets, setter riktig opp et ark som har alle navnene, e-postadressene og meldingene til alle de menneskene du vil at skriptet skal e-poste.

I mitt eksempel begynner jeg med et regneark som jeg har satt opp for å automatisk importere alle publiserte artikler for måneden fra Google Analytics Opprett et Killer Website Analytics Dashboard Med Google Core Reporting API Opprett et Killer Website Analytics Dashboard med Google Core Reporting API Vil du bare publisere et nettsted og kjøre det blindt, eller vil du ha et fullverdig, funksjonelt betjeningspanel som viser hva som skjer med nettstedet hele tiden? Les mer . Jeg har laget et «Alle Forfattere» -ark som viser opp de publiserte artiklene for hver forfatter, og nå vil jeg sende hver enkelt forfatter en epost med deres fortelling.

For å komme i gang, opprett ditt eget e-postark ved å legge til et nytt ark i ditt nåværende regneark, og ring det som "Send-Emails".

send e-post google skript

I dette nye Send-Emails-arket vil du opprette en overskrift. Hver rad i dette regnearket representerer en individuell e-post som vil bli sendt ut. Så i dette eksemplet har jeg laget et ark for mottakernavnet, deres e-postadresse og brikker av meldingen som jeg skal studere sammen inne i skriptet.

send e-post google skript

Du kan bygge en e-post med hvilken som helst størrelse og struktur ved å bruke kolonner for å sammenkoble både statisk og dynamisk informasjon.

send e-post google skript

Den statiske informasjonen er bare tekst som jeg har skrevet inn i cellen. Dette endres ikke fra måned til måned. Det er bare en del av e-postmeldingen som alltid forblir den samme. Men for dataene du vil endre hver måned, kan du sette inn funksjoner som vil importere relevante data fra et annet ark i regnearket.

send e-post google skript

Ideen her er at når du åpner arket for å se gjennom din automatiserte rapport, vil du ha et menyelement du kan klikke for å kjøre send e-post Google Script og distribuere resultatene til alle. Du får se hvordan du tilpasser dette nye menyelementet nederst i denne artikkelen.

Når du er ferdig med å lage arket ditt, ser det slik ut:

send e-post google skript

Nå som arket ditt for alle de individuelle e-postene er klart, er det endelig tid til å skrive skriptet!

Skrive det automatiserte e-postskriptet

For å skrive skriptet ditt, må du bruke skripteditoren. Du finner skripteditoren under Verktøy- menyen ved å velge Skriptredigerer .

send e-post google skript

Skripteditoren ser ut som nedenfor. Du må kaste en ny funksjon øverst i ruten til høyre.

send e-post google skript

Bare kopier og lim inn skriptet nedenfor i skriptområdet.

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); } } 

Dette skriptet kan se litt komplisert ut, men det er egentlig ikke i det hele tatt. La oss slå det ned slik at du vet nøyaktig hva hver linje gjør.

Bryter ned koden

For at denne funksjonen skal fungere riktig, må du sørge for at arket der all e-postinformasjon er lagret, er det aktive arket. Ellers vil alt som kommer etter, ikke fungere. Det er disse to linjene er for:

 var ss = SpreadsheetApp.getActiveSpreadsheet(); ss.setActiveSheet(ss.getSheetByName("Send-Emails")); 

Deretter må vi trekke ut alle dataene fra det aktuelle arket. Metoden sheet.GetRange () vil trekke ut informasjon fra hvilket som helst utvalg av celler du oppgir i sitater. Deretter ekstraherer dataRange.getValues ​​() -metoden verdiene og lagrer dem i en todimensjonal array-kalt data .

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

Nå som vi har alle dataene lagret i en matrise, kan vi gå gjennom arrayet ved hjelp av en forløp. Hvert element i arrayet er en rad som inneholder et dimensjonalt utvalg av kolonneelementer. Du kan referere til hver kolonne ved hjelp av et tall.

 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]; 

Som du kan se over, trakk jeg kolonneelementene inn i et endimensjonalt array som heter rowData . Deretter refererer jeg til den andre kolonnen (for å få tak i e-postadressen) ved å referere til rowData [1], det andre elementet i arrayet (det første elementet i en array er alltid null).

Det neste trinnet i denne funksjonen er å samle alle segmentene av meldingene som utgjør e-postens kropp. Det fine her er at du faktisk kan gi e-postinnholdet et ganske godt format ved hjelp av \ n- tegnet, som er en vognretur. Slik ser sammenhengen mellom e-postkroppen ut:

 var message = 'Dear ' + recipient + ', \n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3; 

+ Tegnet er konkateneringskommandoen 16 Excel-formler som vil hjelpe deg med å løse virkelige livsproblemer 16 Excel-formler som vil hjelpe deg med å løse virkelige livsproblemer Det rette verktøyet er halvparten av arbeidet. Excel kan løse beregninger og behandle data raskere enn du kan finne kalkulatoren din. Vi viser deg viktige Excel-formler og demonstrerer hvordan du bruker dem. Les mer . Du setter faktisk statisk tekst inne i enkle sitater. Så denne meldingen knuses sammen ved å sette ordet "Kjære" foran mottakervariabelen (varsel "Kjære" har plass).

Deretter legger du til to vognreturer på slutten. Dette vil starte selve meldingen inne i kroppen to linjer nede. Deretter legger du til det første meldingssegmentet, et mellomrom, det andre meldingssegmentet, et mellomrom, variabelen som vil bli satt inn i meldingen hver måned, og til slutt den siste delen av meldingen.

Du kan ha så mange deler av meldingen som du vil, du må bare bruke flere kolonner for å lage hele meldingen i stykker.

De siste par linjene i koden har bare angitt emnelinjen for e-posten (dette kan også inkludere data fra regnearket hvis du vil), og til slutt sendEmail () -metoden.

Slik Trigger Script

Tilbake i Script Editor-vinduet, bare søk etter "onOpen" -funksjonen. Hvis funksjonen er der, vil du sannsynligvis se en haug med kode inne i parentesene. Gå til bunnen av koden og sett inn følgende linjer:

 var spreadsheet = SpreadsheetApp.getActive(); var menuItems = [ {name: 'Send Emails', functionName: 'sendArticleCountEmails'} ]; spreadsheet.addMenu('Send Emails', menuItems); 

Bare vær sikker på å skrive inn det nøyaktige navnet på funksjonen din i enkelt anførselstegn for parameteren parameternavn. Dette vil laste inn et egendefinert menyelement i arket ditt hver gang arket ditt åpnes.

send e-post google skript

Nå, når du åpner regnearket ditt hver måned for å se gjennom alle dataene dine, er det bare å klikke på menyelementet for å sende ut e-postene. Dette vil kjøre din nye funksjon og sende alle disse e-postene til deg. En jobb som pleide å ta deg flere timer, vil nå bare kreve et enkelt museklikk!

Google-skript kan hjelpe deg med å spare tid

Dette er bare ett eksempel på de mange måtene du kan bruke Google Skript til å automatisere alle slags ting 4 Google Skript som gjør Google-arkene mye mer kraftfulle 4 Google-skript som gjør Google-arkene mye mer kraftige Google-ark er bra ut av boksen, men Det kan være enda sterkere hvis du bruker Google Scripts for å forbedre sine muligheter. Les mer som sparer deg tid. Den vanskelige delen er bare at det tar litt arbeid foran, men hvert minutt du bruker å sette opp automatisering som dette ved hjelp av skripting, er mange timer lagret. Tenk bare på alle de andre fantastiske tingene du kan gjøre med disse timene!

Har du noen gang brukt smarte Google-skript for å automatisere produktiviteten din? Del dine egne eksempler i kommentarfeltet nedenfor!

In this article