Bruk Google Sheets til å sende en e-post basert på celleverdi
Google Kontor Google Dokumenter Helt / / March 17, 2020
Sist oppdatert den
Visste du at det er mulig å sende e-post direkte fra Google Sheets ved hjelp av Google Apps Script? Med noen enkle koder kan du bruke en celleverdi for å utløse en varselmelding til innboksen.
Å sende en e-post fra Google Sheets krever bruk av et Google Apps-skript. Men ikke bekymre deg. Hvis du aldri har opprettet et eneste Google Apps-skript før, er det veldig enkelt å sende en e-post.
I den følgende opplæringen skal du lære hvordan du sjekker verdien av en celle i Google Sheets, og hvis verdien er over en viss terskelgrense, kan du automatisk sende en varsel-e-post til hvilken e-postadresse du vil.
Det er mange bruksområder for dette skriptet. Du kan motta et varsel hvis den daglige inntekten i salgsrapporten faller under et visst nivå. Eller du kan få en e-post hvis de ansatte rapporterer at de har fakturert klienten i for mange timer i regnearket for prosjektsporing.
Uansett applikasjon, er dette skriptet veldig kraftig. Det vil også spare deg for tida å måtte overvåke regnearkoppdateringene manuelt.
Trinn 1: Sende en e-post med Google Sheets
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 har tilgang til for å sende ut varselemailene dine.
Du må også lage et nytt regneark som inneholder en e-postadresse.
Bare legg til en navnekolonne og en e-postkolonne, og fyll dem ut med personen du vil motta varsel-e-posten.
Nå som du har en e-postadresse du kan sende en varsel-e-post til, er det på tide å lage skriptet ditt.
For å komme inn i scripteditoren, klikk på Verktøy, og klikk deretter Manusredaktør.
Du vil se et skriptvindu med en standardfunksjon som heter myFunction (). Gi dette nytt navn Send e-post().
Lim deretter inn følgende kode i SendEmail () -funksjonen:
// Hent e-postadressen. var emailRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("Sheet1"). getRange ("B2"); var emailAddress = emailRange.getValues (); // Send varsel e-post. var melding = 'Dette er varsel-e-posten din!'; // Andre kolonne. var subject = 'Google-regnearket ditt'; MailApp.sendEmail (e-postadresse, 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 varsel-e-posten din.
- De MailApp.sendEmail funksjon utfører endelig Google Skripts send e-postfunksjon ved å bruke den tilkoblede Google-kontoen din.
Lagre skriptet ved å klikke på disk ikonet, og kjør det ved å klikke på løpe ikon (pil høyre).
Husk at Google Script trenger tillatelse til tilgang Gmail-kontoen din å sende e-posten. Så første gang du kjører skriptet, kan du se et varsel som nedenfor.
Klikk på Gå gjennom tillatelser, og du vil se en annen varslingsskjerm du trenger å omgå.
Denne varslingsskjermen skyldes at du skriver et tilpasset Google-skript som ikke er registrert som et offisielt.
Bare klikk på Avansert, og klikk deretter på Gå til SendEmail (utrygg) link.
Du trenger bare å gjøre dette en gang. Skriptet ditt kjøres, og e-postadressen du spesifiserte i regnearket, vil motta en e-post som den nedenfor.
Trinn 2: Les en verdi fra en celle i Google Sheets
Nå som du har skrevet et Google Apps-skript som kan sende en varsel-e-post, er det på tide å gjøre denne varsel-e-posten mer funksjonell.
Det neste trinnet du lærer er hvordan du leser en dataverdi fra et Google-regneark, sjekker verdien og gir en popup-melding hvis verdien er over eller under en øvre grense.
Før du kan gjøre dette, må du opprette et nytt ark i Google Regnearket du jobber med. Kall dette nye arket “MyReport”.
Husk at celle D2 er den du vil sjekke og sammenligne. Se for deg at du vil vite hver måned om det totale salget har falt under $ 16 000.
La oss lage Google Apps-skriptet som gjør det.
Gå tilbake til Script Editor-vinduet ved å klikke på Verktøy og så Script Editor.
Hvis du bruker det samme regnearket, vil du fortsatt ha det Send e-post() funksjon der inne. Klipp av 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 månedSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); var ui = SpreadsheetApp.getUi (); // Kontroller totalomsetningen hvis (månedSalg <16000) {ui.alert ('Salget er for lavt!'); } }
Slik fungerer denne koden:
- Last inn verdien fra cellen D2 inn i det monthSales variabel.
- IF-uttalelsen sammenligner det månedlige salget i celle D2 til $ 16 000
- Hvis verdien er over 16 000, vil koden utløse en nettlesermeldingsboks med et varsel.
Lagre denne koden og kjør den. Hvis den fungerer riktig, bør du se følgende varselmelding i nettleseren.
Nå som du har et Google Apps-skript som kan sende et 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 et varsel beskjed.
Trinn 3: Sette det hele 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 e-postmottakeren. Den andre fanen som heter MyReport inneholder all salgsinformasjon.
Tilbake i Script Editor er det på tide å legge alt du har lært så langt til å praktisere.
Bytt ut all koden i skripteditoren med de to funksjonene dine, redigert som vist her.
funksjon CheckSales () {// Hent månedlig salg var månedSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); // Kontroller totalomsetningen hvis (monthSales <16000) {// Hent e-postadressen var emailRange = SpreadsheetApp.getActiveSpreadsheet (). GetSheetByName ("Sheet1"). GetRange ("B2"); var emailAddress = emailRange.getValues (); // Send varsel e-post. var melding = 'Denne måneden var salget ditt' + måned Salg; // Andre kolonne var subject = 'Low Sales Alert'; MailApp.sendEmail (e-postadresse, emne, melding); } }
Legg merke til redigeringene her.
Inne i IF-uttalelsen er det bare å lime inn Send e-post manus inne i CheckSales () funksjon på innsiden av if-setningen.
For det andre, sammenkoble monthSales variabel til slutten av e-postmeldingen ved hjelp av + karakter.
Det eneste som er igjen å 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 prosjekt utløser.
- Nederst på skjermen klikker du på lage en ny trigger.
- Velg CheckSales funksjon å løpe.
- Endring Velg hendelseskilde til tid-drevet.
- Endring Velg type tidsbasert trigger til Månedstimer.
Klikk Lagre å fullføre avtrekkeren.
Nå, hver måned, kjører det nye skriptet ditt og vil sammenligne det totale månedlige salgsmengden i celle D2 til $ 16 000.
Hvis det er mindre, sender det en varsel e-post med beskjed om det lave månedlige salget.
Som du ser, 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 litt mer, kan du prøve å legge sammenligningsgrensen for $ 16.000 til en annen celle i regnearket, og deretter lese den inn i skriptet ditt før du gjør sammenligningen. På denne måten kan du endre grensen bare ved å endre verdien i arket.
Ved å finjustere koden og legge til nye blokker med kode, kan du bygge videre på disse enkle tingene du lærer, for til slutt å bygge noen fantastiske Google-skript.