Brug Google Sheets til at sende en e-mail baseret på celleværdi
Vidste du, at det er muligt at sende e-mails direkte fra Google Sheets ved hjælp af Google Apps-script? Med nogle enkle kode kan du bruge en celleværdi til at udløse en alarmmeddelelse til din indbakke.
Afsendelse af en e-mail fra Google Sheets kræver brug af en Google Apps-script. Men rolig, hvis du aldrig har oprettet et enkelt Google Apps-script før, er det meget enkelt at sende en e-mail.
I den følgende tutorial vil du lærehvordan man kontrollerer værdien af en celle i Google Sheets, og hvis værdien er over en bestemt tærskelgrænse, kan du automatisk sende en alarm-e-mail til en hvilken som helst e-mail-adresse.
Der er mange anvendelser til dette script. Du kan modtage en advarsel, hvis den daglige indtjening i din salgsrapport falder under et bestemt niveau. Eller du kan få en e-mail, hvis dine medarbejdere rapporterer, at de har faktureret klienten i for mange timer i dit projektsporings regneark.
Uanset applikationen er dette script meget kraftfuldt. Det sparer dig også tid til at skulle overvåge dine regnearksopdateringer manuelt.
Trin 1: Afsendelse af en e-mail med Google Sheets
Før du kan oprette en Google Apps-script til at sende en e-mail fra Google Sheets, har du også brug for en Gmail-e-mail-adresse, som Google Apps Script får adgang til for at sende dine alarm-e-mails.
Du skal også oprette et nyt regneark, der indeholder en e-mail-adresse.
Bare tilføj en navnekolonne og en e-mail-kolonne, og udfyld dem med den person, du vil modtage advarsels-e-mailen.
Nu hvor du har en e-mail-adresse til at sende en alarm e-mail til, er det tid til at oprette dit script.
Klik på for at komme ind i scripteditoren Værktøj, og klik derefter på Manusredaktør.
Du får vist et scriptvindue med en standardfunktion kaldet minFunktion (). Omdøb dette til Send e-mail().
Indsæt derefter følgende kode i funktionen SendEmail ():
// Fetch the email address
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2");
var emailAddress = emailRange.getValues();
// Send Alert Email.
var message = "This is your Alert email!"; // Second column
var subject = "Your Google Spreadsheet Alert";
MailApp.sendEmail(emailAddress, subject, message);
Sådan fungerer denne kode:
- getRange og getValues trækker værdien fra den celle, der er specificeret i getRange-metoden.
- var besked og var emne definerer teksten, der skal bygge din alarm-e-mail.
- Det MailApp.sendEmail funktion udfører endelig Google Scripts send e-mail-funktion ved hjælp af din tilsluttede Google-konto.
Gem scriptet ved at klikke på disk ikon, og kør det derefter ved at klikke på løb ikon (højre pil).
Husk, at Google Script har brug for tilladelse til at få adgang til din Gmail-konto for at sende e-mailen. Så første gang du kører scriptet, kan du muligvis se en advarsel som nedenfor.
Klik på Gennemgå tilladelser, og du vil se en anden alarmskærm, som du bliver nødt til at omgå.
Denne alarmskærm skyldes, at du skriver en brugerdefineret Google-script, der ikke er registreret som en officiel.
Klik bare på Fremskreden, og klik derefter på Gå til SendEmail (usikker) link.
Du skal kun gøre dette én gang. Dit script kører, og den e-mail-adresse, du angav i dit regneark, vil modtage en e-mail som den nedenfor.
Trin 2: Læsning af en værdi fra en celle i Google Sheets
Nu hvor du med succes har skrevet en Google Apps-script, der kan sende en alarm-e-mail, er det tid til at gøre denne alarm-e-mail mere funktionel.
Det næste trin, du lærer, er, hvordan du læser en dataværdi ud fra et Google-regneark, kontrollerer værdien og udsender en pop-up-meddelelse, hvis denne værdi er over eller under en øvre grænse.
Inden du kan gøre dette, skal du oprette et andet ark i det Google Regneark, du arbejder med. Kald dette nye ark "MyReport".
Husk, at celle D2 er den, du vil tjekke og sammenligne. Forestil dig, at du vil vide hver måned, om dit samlede salg er faldet til under $ 16.000.
Lad os oprette Google Apps-scriptet, der gør det.
Gå tilbage til vinduet Script Editor ved at klikke på Værktøj og så Script Editor.
Hvis du bruger det samme regneark, har du stadig Send e-mail() funktion derinde. Klip den kode og indsæt den i Notepad. Du har brug for det senere.
Indsæt følgende funktion i kodevinduet.
function CheckSales() {
// Fetch the monthly sales
var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MyReport").getRange("D2");
var monthSales = monthSalesRange.getValue();
var ui = SpreadsheetApp.getUi();
// Check totals sales
if (monthSales < 16000){
ui.alert("Sales too low!");
}
}
Sådan fungerer denne kode:
- Indlæs værdien fra cellen D2 ind i monthSales variabel.
- IF-erklæringen sammenligner det månedlige salg i celle D2 med $ 16.000
- Hvis værdien er over 16.000, udløser koden et browsermeddelelsesfelt med en alarm.
Gem denne kode og kør den. Hvis det fungerer korrekt, skal du se følgende alarmmeddelelse i din browser.
Nu hvor du har en Google Apps-script, der kansende en e-mail-advarsel og et andet script, der kan sammenligne en værdi fra et regneark, er du klar til at kombinere de to og sende en alarm i stedet for at udløse en alarmmeddelelse.
Trin 3: At sætte det hele sammen
Nu er det tid til at kombinere de to manuskripter, du har oprettet, i et enkelt script.
På dette tidspunkt skal du have et regneark med en fane kaldet Ark1, der indeholder modtageren af e-mail-beskeden. Den anden fane kaldet MyReport indeholder alle dine salgsoplysninger.
Tilbage i Script Editor er det tid til at sætte alt, hvad du har lært indtil videre, til at øve.
Udskift al koden i scripteditoren med dine to funktioner, redigeret som vist her.
function CheckSales() {
// Fetch the monthly sales
var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MyReport").getRange("D2");
var monthSales = monthSalesRange.getValue();
// Check totals sales
if (monthSales < 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);
}
}
Bemærk redigeringerne her.
Inden i IF-udsagnet er det bare at indsætte Send e-mail manuskript inde i CheckSales () funktion inden i if-sætning parenteserne.
For det andet, sammenkæde monthSales variabel til slutningen af e-mail-beskeden ved hjælp af + Karakter.
Det eneste, der er tilbage at gøre, er at udløse funktionen CheckSales () hver måned.
For at gøre dette i scripteditoren:
- Klik på Redigere menupunkt, og klik derefter på Aktuelle projekts triggere.
- Klik på nederst på skærmen oprette en ny trigger.
- Vælg CheckSales funktion til at køre.
- Lave om Vælg begivenhedskilde til tid-driven.
- Lave om Vælg type tidsbaseret trigger til Månedstimer.
Klik Gemme at afslutte udløseren.
Nu kører dit nye script hver måned og sammenligner det samlede månedlige salgsmængde i celle D2 til $ 16.000.
Hvis det er mindre, sender det en alarm e-mail med besked om det lave månedlige salg.
Som du kan se, pakker Google Apps-scripts en masse funktionalitet i en lille pakke. Med blot et par enkle kodelinjer kan du gøre nogle ret fantastiske ting.
Hvis du vil eksperimentere mere, kan du prøve at tilføjesammenligningsgrænsen på $ 16.000 til en anden celle i regnearket, og læs det derefter i dit script, før du foretager sammenligningen. På denne måde kan du ændre grænsen bare ved at ændre værdien i arket.
Ved at finpudse koden og tilføje nye blokke med kode, kan du bygge videre på disse enkle ting, du lærer, for til sidst at opbygge nogle fantastiske Google-scripts.
Efterlad en kommentar