Sådan sender du e-mail i et Google-ark med Google Scripts

Lær, hvordan du bruger Google Scripts til at automatisere Google produktivitetsværktøjer som Sheets og Docs, og spar dig selv timer.

Lær, hvordan du bruger Google Scripts til at automatisere Google produktivitetsværktøjer som Sheets og Docs, og spar dig selv timer.
Reklame

Google Scripts er et kraftfuldt værktøj, du kan bruge til at automatisere Google-produktivitetsværktøjer. Sådan opretter du en automatiseret Google-regnearkrapport fra Analytics-data Sådan opretter du en automatisk Google-regnearkrapport fra Analytics-data Læs mere som ark og dokumenter. Evnen til automatisk at sende e-mails gør det til et ekstra kraftfuldt værktøj.

Måske er du en medarbejder, der håber at sende en månedlig email til din chef med automatisk beregne formler i Google Sheets Visualisere dine data og gøre dit regneark brugervenligt med et Excel Dashboard Visualiser dine data og gør dit regneark brugervenligt med et Excel Dashboard Nogle gange er et simpelt regnearkformat ikke engagerende nok til at gøre dine data tilgængelige. Et dashboard giver dig mulighed for at præsentere dine vigtigste data i et let at fordøje format. Læs mere . Eller måske er du en manager, der bruger alt for meget tid til at sende e-mail til individuelle medlemmer af dit team med ting som resultatdata eller statusopdateringer. Funktionen Google Scripts, du vil lære i denne artikel, hjælper dig med at udføre disse opgaver og meget mere.

Med en lille indsats en gang, skal du aldrig manuelt sende data igen. Lad Google Scripts fungere som din egen personlige assistent og gøre alt for dig.

Opsætning af dit ark for at sende e-mail

Det første skridt i at få dit Google Script til at sende e-mail via Google Sheets, konfigurerer korrekt et ark, der indeholder alle navne, e-mailadresser og meddelelser til alle de personer, du vil have scriptet til at e-maile.

I mit eksempel starter jeg med et regneark, som jeg har oprettet for automatisk at importere alle de offentliggjorte artikler for måneden fra Google Analytics Opret et Killer Website Analytics Dashboard Med Google Core Reporting API Opret et Killer Website Analytics Dashboard med Google Core Reporting API Vil du bare offentliggøre et websted og køre det blindt, eller vil du have et fuldt udstyret, funktionelt dashboard, der viser dig, hvad der foregår på webstedet til enhver tid? Læs mere . Jeg har lavet et "Alle Forfattere" -ark, der fortæller de offentliggjorte artikler for hver forfatter, og nu vil jeg sende hver enkelt forfatter en e-mail med deres fortælling.

For at komme i gang skal du oprette dit særlige e-mailark ved at tilføje et nyt ark i dit nuværende regneark og kalde det noget som "Send-Emails".

send email google scripts

I dette nye Send-Emails-ark vil du oprette et overskrift. Hver række i dette regneark repræsenterer en individuel email, der vil blive sendt ud. Så i dette eksempel har jeg lavet et ark til modtagerens navn, deres e-mail-adresse og stykker af meddelelsen, som jeg kommer til at styre sammen inde i scriptet.

send email google scripts

Du kan opbygge en e-mail af enhver størrelse og struktur ved at bruge kolonner til at samle både statisk og dynamisk information.

send email google scripts

Den statiske information er bare tekst, som jeg har skrevet i cellen. Dette ændrer ikke fra måned til måned. Det er bare en del af e-mail-meddelelsen, som altid forbliver den samme. Men for de data, som du vil ændre hver måned, kan du indsætte funktioner, som vil importere de relevante data fra et hvilket som helst andet ark i dit regneark.

send email google scripts

Ideen her er, at når du åbner arket for at gennemgå din automatiske rapport, vil du have et menupunkt, du kan klikke for at køre send e-mail Google Script og distribuere resultaterne til alle. Du kan se, hvordan du tilpasser dette nye menupunkt nederst i denne artikel.

Når du er færdig med at oprette dit ark, ser det sådan ud:

send email google scripts

Nu da dit ark til alle de enkelte e-mails er klar, er det endelig tid til at skrive manuskriptet!

Skrivning af det automatiske e-mail-script

For at skrive dit script skal du bruge script editoren. Du finder script-editoren under menuen Værktøjer ved at vælge Script editor .

send email google scripts

Scripteditoren vil se noget ud som nedenfor. Du skal kaste en ny funktion øverst i ruden til højre.

send email google scripts

Du skal blot kopiere og indsætte scriptet nedenfor i scriptområ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 script kan se lidt kompliceret ud, men det er faktisk slet ikke. Lad os bryde det ned, så du ved præcis, hvad hver linje gør.

Bryde ned koden

For at denne funktion skal virke rigtigt, skal du sikre dig, at det ark, hvor alle dine e-mail-oplysninger er gemt, faktisk er det aktive ark. Ellers vil alt, hvad der kommer efter, ikke virke. Det er, hvad disse to linjer er for:

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

Dernæst skal vi udtrække alle dataene fra det pågældende ark. Metoden sheet.GetRange () vil udtrække information fra det uanset antal celler, du leverer inden for citater. Derefter udpakker metoden dataRange.getValues ​​() de faktiske værdier og lagrer dem i et todimensionelt array kaldet data .

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

Nu hvor vi har alle de data, der er gemt i en matrix, kan vi løkke gennem arrayet ved hjælp af en for- loop. Hvert element i arrayet er en række, der indeholder et endimensionelt array af kolonneelementer. Du kan referere til hver kolonne ved at bruge et nummer.

 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 ovenfor, trak jeg kolonneelementerne ind i et endimensionelt array kaldet rowData . Så refererer jeg den anden kolonne (for at få e-mail-adressen) ved at henvise til rowData [1], det andet element i arrayet (det første element i et array er altid nul).

Det næste trin i denne funktion er at samle alle de segmenter af de meddelelser, der udgør e-mailens krop. Det gode her er, at du faktisk kan give e-mail-indholdet et ret godt format ved hjælp af \ n tegnet, som er en vognretur. Her er hvad sammenkæden af ​​e-mail-organet ser ud:

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

+ Tegnet er concatenation-kommandoen 16 Excel-formler, der kan hjælpe dig med at løse problemer i virkeligheden 16 Excel-formler, der kan hjælpe dig med at løse problemer i virkeligheden Det rigtige værktøj er halvdelen af ​​arbejdet. Excel kan løse beregninger og behandle data hurtigere, end du kan finde din regnemaskine. Vi viser dig centrale Excel-formler og demonstrere, hvordan du bruger dem. Læs mere . Du sætter den faktiske statiske tekst inde i single citater. Så denne meddelelse knuses sammen ved at sætte ordet "Kære" foran modtagervariablen (meddelelse "Kære" har plads).

Dernæst tilføjer du to vognreture på enden. Dette vil starte den faktiske besked inde i kroppen to linjer nede. Dernæst tilføjer du det første meddelelsessegment, et mellemrum, det andet meddelelsessegment, et mellemrum, den variabel, der vil blive indsat i meddelelsen hver måned og endelig den sidste del af meddelelsen.

Du kan have så mange stykker af beskeden som du vil, du skal blot bruge flere kolonner til at oprette hele meddelelsen i stykker.

De sidste par linjer i koden har netop indstillet emnelinjen til e-mailen (dette kan også indeholde data fra regnearket, hvis du ønsker det) og endelig sendEmail () -metoden.

Sådan Trigger Din Script

Tilbage i vinduet Script Editor, søg kun efter funktionen "onOpen". Hvis funktionen er der, vil du sandsynligvis se en masse kode inde i parenteserne. Gå til bunden af ​​den pågældende kode og indsæt følgende linjer:

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

Bare sørg for at skrive det nøjagtige navn på din funktion i enkelte citater for parameteren parameternavn. Dette vil indlæse et brugerdefineret menupunkt i dit ark hver gang dit ark åbnes.

send email google scripts

Nu, når du åbner dit regneark hver måned for at gennemgå alle dine data, skal du blot klikke på menupunktet for at sende e-mails. Dette vil køre din nye funktion og sende alle disse e-mails til dig. Et job, der plejede at tage dig adskillige timer, kræver nu kun et enkelt klik med musen!

Google Scripts kan hjælpe dig med at spare tid

Dette er blot et eksempel på de mange måder, du kan bruge Google Scripts til at automatisere alle mulige ting 4 Google Scripts, der gør Google Sheets meget mere kraftfulde 4 Google Scripts, der gør Google Sheets meget mere kraftfulde Google Sheets er fantastisk ud af kassen, men Det kan være endnu mere kraftfuldt, hvis du bruger Google Scripts til at forbedre dets evner. Læs mere, der sparer dig tid. Den vanskelige del er kun, at det tager lidt arbejde foran, men hvert minut du bruger opsætning af automatisering som dette ved hjælp af scripting er mange timer gemt. Tænk bare på alle de andre vidunderlige ting, du kunne gøre med de timer!

Har du nogensinde brugt kloge Google Scripts til at automatisere din produktivitet? Del dine egne eksempler i kommentarfeltet nedenfor!

In this article