Använd Google Sheets för att skicka en e-post baserad på cellvärde
I följande handledning läser du hur du kontrollerar värdet på en cell i Google Sheets, och om värdet överstiger en viss tröskelgräns kan du automatiskt skicka ett varningsmeddelande till vilken e-postadress du gillar.
Det finns många användningsområden för det här skriptet. Du kan få en varning om det dagliga resultatet i din försäljningsrapport dyker under en viss nivå. Eller du kan få ett mail om dina anställda rapporterar att de har fakturerat kunden i alltför många timmar, i ditt projektspårningsarkiv.
Oavsett ansökan är detta skript mycket kraftfullt. Det kommer också att spara dig tid att behöva övervaka dina kalkylblad uppdateringar manuellt.
Steg 1: Skicka en e-post med Google Sheets
Innan du kan skapa ett Google Apps-skript för att skicka ett e-postmeddelande från Google Sheets behöver du också en Gmail-e-postadress, vilken Google Apps Script kommer att få tillgång till att skicka ut dina alert-e-postmeddelanden.
Du måste också skapa ett nytt kalkylblad som innehåller en e-postadress.
Lägg bara till en namnkolumn och en e-postkolumn och fyll i dem med den person du vill få varningsmeddelandet.
Nu när du har en e-postadress för att skicka en alert-e-post till, är det dags att skapa ditt skript.
För att komma in i skriptredigeraren klickar du på Verktyg, och klicka sedan på Skriptredigerare.
Du får se ett skriptfönster med en standardfunktion som heter myFunction (). Byt namn på detta till Skicka epost().
Därefter klistra in följande kod i funktionen SendEmail ():
// Hämta e-postadressen var emailRange = SpreadsheetApp.getActiveSpreadsheet (). GetSheetByName ("Sheet1"). GetRange ("B2"); var emailAddress = emailRange.getValues (); // Skicka Alert Email. var message = 'Det här är ditt Alert email!'; // Andra kolumnen var ämne = 'Din Google-kalkylarkvarning'; MailApp.sendEmail (emailAddress, ämne, meddelande);
Så här fungerar den här koden:
- getRange och getValues drar värdet från cellen som anges i getRange-metoden.
- var meddelande och var ämne definierar texten som kommer att bygga din alert email.
- De MailApp.sendEmail funktionen utför slutligen Google Scripts Send Email-funktionen med ditt anslutna Google-konto.
Spara skriptet genom att klicka på disk ikonen och kör sedan den genom att klicka på springa ikon (högerpil).
Tänk på att Google Script behöver behörighet att komma åt ditt Gmail-konto för att skicka e-postmeddelandet. Så första gången du kör skriptet kan du se en varning som nedan.
Klicka på Granska tillåtelser, och du får se en annan varningsskärm som du måste kringgå.
Den här varningsskärmen beror på att du skriver ett anpassat Google Script som inte är registrerat som en officiell.
Klicka bara på Avancerad, och klicka sedan på Gå till SendEmail (osäker) länk.
Du behöver bara göra det här en gång. Ditt skript kommer att köras, och den e-postadress du angav i kalkylbladet kommer att få ett e-postmeddelande som det nedan.
Steg 2: Läser ett värde från en cell i Google Sheets
Nu när du har skrivit ett Google Apps-skript som kan skicka ett alert-e-postmeddelande är det dags att göra den alert-e-postfunktionen mer funktionell.
Nästa steg du lär dig är hur du läser ett datavärde ur ett Google-kalkylblad, kolla värdet och utfärda ett popup-meddelande om det värdet är över eller under en övre gräns.
Innan du kan göra detta måste du skapa ett annat ark i Google-kalkylbladet du arbetar med. Ring det här nya arket "MyReport".
Tänk på att cell D2 är den du kommer att vilja kontrollera och jämföra. Tänk dig att du vill veta varje månad om din totala försäljning har sjunkit under 16 000 dollar.
Låt oss skapa Google Apps Script som gör det.
Gå tillbaka till ditt Script Editor-fönster genom att klicka på Verktyg och då Skriptredigerare.
Om du använder samma kalkylblad har du fortfarande Skicka epost() funktion där. Klipp den koden och klistra in den i anteckningsblocket. Du behöver det senare.
Klistra in följande funktion i kodfönstret.
funktion CheckSales () // Hämta månadsförsäljningen var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); var ui = SpreadsheetApp.getUi (); // Kontrollera totalförsäljningen om (månadSales < 16000) ui.alert('Sales too low!');
Hur den här koden fungerar:
- Ladda värdet från cellen D2 in i monthSales variabel.
- IF-uttalandet jämför den månatliga försäljningen i cell D2 till $ 16.000
- Om värdet är över 16 000, kommer koden att utlösa en webbläsars meddelandefält med en varning.
Spara den här koden och kör den. Om det fungerar korrekt bör du se följande varningsmeddelande i din webbläsare.
Nu när du har ett Google Apps-skript som kan skicka en e-postmeddelande och ett annat skript som kan jämföra ett värde från ett kalkylblad, är du redo att kombinera de två och skicka en varning istället för att utlösa ett varningsmeddelande.
Steg 3: Sätta allt ihop
Nu är det dags att kombinera de två skript som du skapat i ett enda skript.
Vid denna punkt borde du ha ett kalkylblad med en flik som heter Sheet1 som innehåller varningsmottagaren. Den andra fliken heter MyReport innehåller all din försäljningsinformation.
Tillbaka i Script Editor är det dags att lägga allt du har lärt dig så långt att träna.
Byt all kod i skriptredigeraren med dina två funktioner, redigerad som visas här.
funktion CheckSales () // Hämta månadsförsäljningen var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); // Kontrollera totalförsäljningen om (månadSales < 16000) // Fetch the email address var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2"); var emailAddress = emailRange.getValues(); // Send Alert Email. var message = 'This month your sales were ' + monthSales; // Second column var subject = 'Low Sales Alert'; MailApp.sendEmail(emailAddress, subject, message);
Lägg märke till ändringarna här.
Inne i IF-förklaringen klistrar du bara på Skicka epost skript inuti CheckSales () funktion, inuti om uppställningsfästena.
För det andra sammanfogar monthSales variabel till slutet av e-postmeddelandet med hjälp av + karaktär.
Det enda som kvarstår är att aktivera CheckSales () -funktionen varje månad.
För att göra detta, i skriptredigeraren:
- Klicka på Redigera menyalternativ och klicka sedan på Nuvarande projektets utlösare.
- Klicka på längst ner på skärmen skapa en ny trigger.
- Välj CheckSales funktion att springa.
- Byta Välj händelsekälla till tidsstyrd.
- Byta Välj typ av tidsbaserad utlösare till Månadstimern.
Klick Spara att slutföra avtryckaren.
Nu kommer varje månad ditt nya skript att köras och kommer att jämföra det totala månatliga försäljningsbeloppet i cell D2 till $ 16.000.
Om det är mindre, skickar det ett varningsmeddelande som meddelar dig den låga månadsförsäljningen.
Som du kan se, packar Google Apps Scripts mycket funktionalitet i ett litet paket. Med bara några enkla kodlinjer kan du göra några ganska fantastiska saker.
Om du vill experimentera lite mer kan du försöka lägga till jämförelsesgränsen för $ 16.000 i en annan cell i kalkylbladet och läsa sedan det i ditt skript innan du gör jämförelsen. På så sätt kan du ändra gränsen bara genom att ändra värdet i arket.
Genom att tweak koden och lägga till nya block av kod kan du bygga på dessa enkla saker du lär dig, så småningom bygga några fantastiska Google Scripts.