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

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

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 en 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 sende til e-post.

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 en “Alle forfattere” ark som gir opp de publiserte artiklene for hver forfatter, og nå vil jeg sende hver enkelt forfatter en e-post med deres tally.

For å komme i gang, opprett ditt eget e-postark ved å legge til et nytt ark i ditt nåværende regneark og ring det til noe “Sende e-poster”.

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 manuset.

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.

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. For dataene du vil endre hver måned, kan du imidlertid sette inn funksjoner som vil importere relevante data fra et annet ark i regnearket.

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:

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.

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

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

funksjon sendArticleCountEmails () var ss = SpreadsheetApp.getActiveSpreadsheet (); ss.setActiveSheet (ss.getSheetByName ( "Send-e-post")); var ark = SpreadsheetApp.getActiveSheet (); var dataRange = sheet.getRange ("A2: F4"); var data = dataRange.getValues ​​(); for (jeg i data) var rowData = data [i]; var emailAddress = rowData [1]; var mottaker = rowData [0]; var message1 = rowData [2]; var message2 = rowData [3]; var parameter2 = rowData [4]; var message3 = rowData [5]; var message = 'Kjære' + mottaker + ', \ n \ n' + melding1 + "+ melding2 +" + parameter2 + "+ melding3; var subject = 'Din artikkel teller for denne måneden'; MailApp.sendEmail (emailAddress, emne , budskap);  

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-e-post"));

Deretter må vi trekke ut alle dataene fra det aktuelle arket. De sheet.GetRange () Metoden vil trekke ut informasjon fra hvilket som helst utvalg av celler du oppgir innen sitater. Deretter dataRange.getValues ​​() Metoden utvider faktisk verdiene og lagrer dem i et todimensjonalt array som heter data.

var ark = 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 å bruke en til sløyfe. 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 mottaker = 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 en-dimensjonalt array som heter listeninformasjon. Deretter refererer jeg til den andre kolonnen (for å få tak i e-postadressen) ved å referere listen [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 å bruke \ n karakter, som er en vognretur. Slik ser sammenhengen mellom e-postkroppen ut:

var message = 'Kjære' + mottaker + ', \ n \ n' + melding1 + "+ melding2 +" + parameter2 + "+ melding3;

De + tegn er concatenation-kommandoen 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 angir bare emnelinjen for e-posten (dette kan også inkludere data fra regnearket hvis du vil), og til slutt Send e-post() metode.

Slik Trigger Script

Tilbake i Script Editor-vinduet, bare søk etter “VedÅpning” funksjon. 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 regneark = SpreadsheetApp.getActive (); var menuItems = [navn: 'Send e-post', funksjonnavn: 'sendArticleCountEmails']; regneark.addMenu ('Send e-post', menyelementer);

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

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. Du kan for eksempel bruke Google Skript til å generere en Google Analytics-rapport automatisk. 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 de tidene!

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

Les mer om: Google Apps, regneark.