Google Skript är ett kraftfullt verktyg som du kan använda för att automatisera Google-produktivitetsverktyg. Skapa en automatisk Google-kalkylarkrapport från Analytics-data Så här skapar du en automatisk Google-kalkylarkrapport från Analytics-data Läs mer som Arkiv och dokument. Möjligheten att automatiskt skicka e-postmeddelanden gör det till ett extra kraftfullt verktyg.
Kanske är du en anställd som hoppas kunna skicka ett månadsmeddelande till din chef med automatiskt beräknade formler i Google Sheets Visualisera dina data och göra dina kalkylblad Användarvänliga med en Excel Dashboard Visualisera dina data och gör dina kalkylblad användarvänliga med en Excel Dashboard Ibland är ett enkelt kalkylarkformat inte tillräckligt engagerat för att göra dina data tillgängliga. En instrumentpanel gör att du kan presentera dina viktigaste data i ett lätt att smälta format. Läs mer . Eller kanske du är en chef som tillbringar alltför mycket tid med att maila enskilda medlemmar i ditt team med saker som prestationsdata eller statusuppdateringar. Funktionen Google Scripts som du lär dig i den här artikeln hjälper dig att utföra dessa uppgifter och mycket mer.
Med bara en liten ansträngning en gång behöver du aldrig manuellt skicka ut data igen. Låt Google Skript fungera som din egen personliga assistent, gör allt arbete för dig.
Ställa in ditt ark för att skicka e-post
Det första steget i att få ditt Google Skript att skicka e-post via Google Sheets, ställer in ett ark som innehåller alla namn, e-postadresser och meddelanden till alla personer som du vill att skriptet ska maila till.
I mitt exempel börjar jag med ett kalkylblad som jag har ställt in för att automatiskt importera alla publicerade artiklar för månaden från Google Analytics Skapa en Killer Website Analytics Dashboard Med Google Core Reporting API Skapa en Killer Website Analytics Dashboard med Google Core Reporting API Vill du bara publicera en webbplats och köra den blint eller vill du ha en komplett och funktionell instrumentpanel som visar vad som händer med webbplatsen hela tiden? Läs mer . Jag har skapat ett "Alla författare" -ark som innehåller de publicerade artiklarna för varje författare, och nu vill jag skicka en e-post till varje enskild författare med deras tally.
För att komma igång, skapa ditt speciala e-postark genom att lägga till ett nytt ark i ditt nuvarande kalkylblad och kalla det något som "Skicka-e-postmeddelanden".
I det här nya Send-Emails-arket vill du skapa en rubrik. Varje rad i det här kalkylbladet representerar ett individuellt e-postmeddelande som skickas ut. Så i det här exemplet har jag skapat ett ark för mottagarens namn, deras e-postadress och bitar av meddelandet som jag ska sätta ihop inuti manuset.
Du kan bygga ett e-postmeddelande av vilken storlek och struktur som helst med hjälp av kolumner för att sammanfoga både statisk och dynamisk information.
Den statiska informationen är bara text som jag har skrivit in i cellen. Detta ändras inte från månad till månad. Det är bara en del av e-postmeddelandet som alltid förblir detsamma. För de data som du vill ändra varje månad kan du dock infoga funktioner som kommer att importera relevanta uppgifter från något annat ark i kalkylbladet.
Tanken här är att när du öppnar arket för att se över din automatiska rapport, kommer du att ha ett menyalternativ som du kan klicka för att köra skicka e-post Google Script och distribuera resultaten till alla. Du får se hur du anpassar det här nya menyalternativet längst ner i den här artikeln.
När du är klar med att skapa ditt ark ser det ut som om det här:
Nu när ditt ark för alla enskilda e-postmeddelanden är klart är det äntligen dags att skriva manuset!
Skriva den automatiska e-postskriptet
För att skriva ditt skript behöver du använda skriptredigeraren. Du hittar skriptredigeraren under Verktyg- menyn genom att välja Skriptredigerare .
Skriptredigeraren kommer att se ut som nedan. Du måste kasta en ny funktion högst upp i rutan till höger.
Kopiera och klistra in skriptet nedan 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); } }
Det här skriptet kan se lite komplicerat ut, men det är faktiskt inte alls. Låt oss bryta ner det så att du vet exakt vad varje rad gör.
Bryter ner koden
För att denna funktion ska fungera rätt måste du se till att arket där all din e-postinformation lagras är faktiskt det aktiva arket. Annars kommer allt som kommer efter inte att fungera. Det är vad dessa två linjer är för:
var ss = SpreadsheetApp.getActiveSpreadsheet(); ss.setActiveSheet(ss.getSheetByName("Send-Emails"));
Därefter måste vi extrahera alla data från det aktuella arket. Metoden sheet.GetRange () kommer att extrahera information från vilket sortiment av celler du tillhandahåller inom citat. Därefter extraherar metoden dataRange.getValues () värdena och lagrar dem i en tvådimensionell array som heter data .
var sheet = SpreadsheetApp.getActiveSheet(); var dataRange = sheet.getRange("A2:F4"); var data = dataRange.getValues();
Nu när vi har all data lagrad i en matris kan vi gå igenom arrayen med hjälp av en för loop. Varje element i arrayen är en rad som innehåller en dimensionell grupp med kolumnelement. Du kan referera till varje kolumn med ett 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 ovan drog jag kolumnelementen in i en endimensionell array som heter rowData . Sedan hänvisar jag till den andra kolumnen (för att få e-postadressen) genom att referera till rowData [1], det andra elementet i arrayen (det första elementet i en array är alltid noll).
Nästa steg i denna funktion är att sammanfoga alla segment av meddelandena som utgör e-postens kropp. Det trevliga här är att du faktiskt kan ge e-postinnehållet ett ganska bra format med hjälp av \ n- tecknet, vilket är en vagnretur. Så här ser sammanfattningen av e-postkroppen ut:
var message = 'Dear ' + recipient + ', \n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;
+ -tecknet är konkateneringskommandot 16 Excel-formulär som hjälper dig att lösa verkliga problem 16 Excel-formulär som hjälper dig att lösa verkliga problem Det rätta verktyget är hälften av arbetet. Excel kan lösa beräkningar och bearbeta data snabbare än du kan hitta din räknare. Vi visar dig viktiga Excel-formulär och visar hur du använder dem. Läs mer . Du sätter faktisk statisk text inuti enkla citat. Så detta meddelande är pieced samman genom att lägga ordet "Kära" framför mottagarvariabeln (varsel "Kära" har ett mellanslag).
Därefter lägger du till två vagnreturer på slutet. Detta kommer att starta det faktiska meddelandet inuti kroppen två linjer nedåt. Därefter lägger du till det första meddelandesegmentet, ett mellanslag, det andra meddelandesegmentet, ett mellanslag, den variabel som kommer att införas i meddelandet varje månad och slutligen den sista delen av meddelandet.
Du kan ha så många delar av meddelandet som du vill, du behöver helt enkelt använda flera kolumner för att skapa hela meddelandet i bitar.
De sista par raderna i koden har bara ställt in ämnesraden för e-postmeddelandet (det kan också inkludera data från kalkylbladet om du vill) och slutligen metoden sendEmail () .
Hur man triggar ditt script
Tillbaka i fönstret Script Editor, sök bara efter funktionen "onOpen". Om funktionen är där kommer du sannolikt att se ett gäng kod inne i parenteserna. Gå till botten av den koden och sätt in följande rader:
var spreadsheet = SpreadsheetApp.getActive(); var menuItems = [ {name: 'Send Emails', functionName: 'sendArticleCountEmails'} ]; spreadsheet.addMenu('Send Emails', menuItems);
Var noga med att skriva in det exakta namnet på din funktion i enstaka citat för parameterfunktionen. Detta lägger in ett anpassat menyalternativ i ditt ark varje gång ditt ark öppnas.
Nu, när du öppnar kalkylbladet varje månad för att granska alla dina data, behöver du bara klicka på menyalternativet för att skicka ut e-postmeddelandena. Detta kommer att köra din nya funktion och skicka alla dessa e-postmeddelanden till dig. Ett jobb som brukade ta dig flera timmar kommer nu bara att kräva ett enda klick på musen!
Google skript kan hjälpa dig att spara tid
Detta är bara ett exempel på de många sätten du kan använda Google Skript för att automatisera alla sorters saker 4 Google Skript som gör Google-ark mycket mer kraftfulla 4 Google Skript som gör Google-ark mycket mer kraftfulla Google Sheets är bra ur lådan, men Det kan vara ännu kraftigare om du använder Google Scripts för att förbättra dess kapacitet. Läs mer som sparar dig tid. Den svåra delen är bara att det tar lite arbete på framsidan, men varje minut du spenderar att installera automation så här med scripting är många timmar sparade. Tänk bara på alla de andra underbara sakerna du kan göra med de timmarna!
Har du någonsin använt smart Google Scripts för att automatisera din produktivitet? Dela dina egna exempel i kommentarfältet nedan!