Bruk Google Sheets til å sende en epost basert på celleverdi
I den følgende opplæringen skal du lære hvordan du kontrollerer verdien av en celle i Google Sheets, og hvis verdien er over en bestemt grenseverdi, kan du automatisk sende en varsel e-post til hvilken e-postadresse du liker.
Det er mange bruksområder for dette skriptet. Du kan få et varsel hvis den daglige inntekten i salgsrapporten din dyppes under et visst nivå. Eller du kan få en e-post hvis dine ansatte rapporterer at de har fakturert klienten i for mange timer, i prosjektsporingsregnearket.
Uansett søknaden, er dette skriptet veldig kraftig. Det vil også spare deg for tiden å måtte overvåke regnearkoppdateringene manuelt.
Trinn 1: Sende en e-post med Google Ark
Før du kan opprette et Google Apps-skript for å sende en e-post fra Google Sheets, trenger du også en Gmail-e-postadresse, som Google Apps Script vil få tilgang til å sende ut varsel e-postene dine.
Du må også opprette et nytt regneark som inneholder en e-postadresse.
Bare legg til en navnekolonne og en e-postkolonne, og fyll ut dem med personen du vil motta varselmeldingen.
Nå som du har en e-postadresse for å sende en varsel e-post til, er det på tide å lage skriptet ditt.
For å komme inn i skripteditoren, klikk på Verktøy, og klikk deretter Skriptredigerer.
Du får se et skriptvindu med en standardfunksjon som heter myFunction (). Gi nytt navn til dette Send e-post().
Sett deretter inn følgende kode i SendEmail () -funksjonen:
// Hent e-postadressen var emailRange = SpreadsheetApp.getActiveSpreadsheet (). GetSheetByName ("Sheet1"). GetRange ("B2"); var emailAddress = emailRange.getValues (); // Send Alert Email. var message = 'Dette er din Alert email!'; // Andre kolonne var emne = 'Google-regnearkvarsel'; MailApp.sendEmail (emailAddress, emne, melding);
Slik fungerer denne koden:
- getRange og GetValues trekker verdien fra cellen som er spesifisert i getRange-metoden.
- var melding og var emne definerer teksten som skal bygge din varsel e-post.
- De MailApp.sendEmail funksjonen utfører endelig Google Scripts send email-funksjonen ved hjelp av din tilkoblede Google-konto.
Lagre skriptet ved å klikke på disk ikonet, og kjør det ved å klikke på løpe ikon (høyre pil).
Husk at Google Script trenger tillatelse til å få tilgang til Gmail-kontoen din for å sende e-posten. Så første gang du kjører skriptet, kan du se et varsel som nedenfor.
Klikk på Gjennomgå tillatelser, og du får se en annen varslingsskjerm som du må omgå.
Denne varselskjermen skyldes at du skriver et egendefinert Google Script som ikke er registrert som en offisiell.
Bare klikk på Avansert, og klikk deretter på Gå til SendEmail (usikre) link.
Du trenger bare å gjøre dette en gang. Skriptet ditt vil kjøre, og e-postadressen du oppgav i regnearket ditt, vil motta en e-post som den nedenfor.
Trinn 2: Leser en verdi fra en celle i Google Sheets
Nå som du har skrevet et Google Apps-script som kan sende en varsel-e-post, er det på tide å gjøre denne varslings-e-posten mer funksjonell.
Det neste trinnet du lærer, er hvordan du leser en dataverdi ut av et Google-regneark, kontroller verdien og utsted en popup-melding hvis verdien er over eller under en øvre grense.
Før du kan gjøre dette, må du opprette et annet ark i Google-regnearket du arbeider med. Ring dette nye arket "MyReport".
Husk at celle D2 er den du skal sjekke og sammenligne. Tenk deg at du vil vite hver måned om ditt totale salg har falt under $ 16.000.
La oss lage Google Apps Script som gjør det.
Gå tilbake til Script Editor-vinduet ved å klikke på Verktøy og så Skriptredigerer.
Hvis du bruker det samme regnearket, har du fortsatt Send e-post() fungere der inne Klipp den koden og lim den inn i Notisblokk. Du trenger det senere.
Lim inn følgende funksjon i kodevinduet.
funksjon CheckSales () // Hent månedlig salg var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); var ui = SpreadsheetApp.getUi (); // Sjekk totalsalg hvis (månedssalg < 16000) ui.alert('Sales too low!');
Slik fungerer denne koden:
- Last inn verdien fra cellen D2 inn i det monthSales variabel.
- IF-setningen sammenligner det månedlige salget i celle D2 til $ 16.000
- Hvis verdien er over 16 000, vil koden utløse en nettleservisningsboks med et varsel.
Lagre denne koden og kjør den. Hvis det fungerer riktig, bør du se følgende varselmelding i nettleseren din.
Nå som du har et Google Apps-skript som kan sende en e-postvarsel og et annet skript som kan sammenligne en verdi fra et regneark, er du klar til å kombinere de to og sende et varsel i stedet for å utløse en varselmelding.
Trinn 3: Setter alt sammen
Nå er det på tide å kombinere de to skriptene du har opprettet, til et enkelt skript.
På dette tidspunktet bør du ha et regneark med en fane som heter Sheet1 som inneholder varsel-e-postmottakeren. Den andre kategorien som heter MyReport, inneholder all salgsinformasjon.
Tilbake i Script Editor, er det på tide å legge alt du har lært så langt til å øve.
Erstatt all koden i skripteditoren med de to funksjonene, redigert som vist her.
funksjon CheckSales () // Hent månedlig salg var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); // Sjekk totalsalg hvis (månedssalg < 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);
Legg merke til endringene her.
Inne i IF-setningen, lim inn bare Send e-post Skript inne i CheckSales () funksjon, innsiden av om setningen parenteser.
For det andre, sammenkoble monthSales variabel til slutten av e-postmeldingen ved hjelp av + karakter.
Det eneste som igjen er å gjøre, er å utløse CheckSales () -funksjonen hver måned.
For å gjøre dette, i skripteditoren:
- Klikk på Redigere menyelement, og klikk deretter på Nåværende prosjektets utløsere.
- På bunnen av skjermen klikker du på opprett en ny utløser.
- Velg CheckSales funksjon å kjøre.
- Endring Velg hendelseskilde til tid-drevet.
- Endring Velg type tidsbasert utløser til Månedstimer.
Klikk Lagre å fullføre utløseren.
Nå, hver måned vil ditt nye skript kjøre og sammenligne det totale månedlige salgsbeløpet i celle D2 til $ 16.000.
Hvis det er mindre, vil det sende en varsel-epost som informerer deg om det lave månedlige salget.
Som du kan se, pakker Google Apps Scripts mye funksjonalitet i en liten pakke. Med bare noen få enkle kodelinjer kan du gjøre noen ganske fantastiske ting.
Hvis du vil eksperimentere noe mer, kan du prøve å legge til sammenligningsgrensen på 16 000 dollar i en annen celle i regnearket, og les deretter det i skriptet ditt før du gjør sammenligningen. På denne måten kan du endre grensen bare ved å endre verdien i arket.
Ved å tilpasse koden og legge til nye kodeblokker, kan du bygge på disse enkle tingene du lærer, til slutt bygge noen fantastiske Google Scripts.