Bruk Google Sheets til å sende en e-post basert på celleverdi

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ærehvordan 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 får tilgang til for å sende ut varsel-e-postene.

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.

sette opp e-post i googleark

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:

// 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);

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 , og kjør det deretter ved å klikke på løpe ikon (pil høyre).

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.

google skripttillatelser

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.

google script tillatelse

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.

google skript e-postvarsel

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.

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!");
}
}

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.

salg for lavt varsel

Nå som du har et Google Apps-skript som kansende 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 en varselmelding.

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 Ark 1 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.

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);
}
}

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:

  1. Klikk på Redigere menyelement, og klikk deretter på Nåværende prosjekt utløser.
  2. Nederst på skjermen klikker du på lage en ny trigger.
  3. Velg CheckSales funksjon å løpe.
  4. Endring Velg hendelseskilde til tid-drevet.
  5. Endring Velg type tidsbasert trigger til Månedstimer.

Klikk Lagre å fullføre avtrekkeren.

utløse kontroller funksjon

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.

månedlig e-postvarsel

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 tilsammenligningsgrensen på 16 000 dollar til en annen celle i regnearket, og les den deretter 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 å finpusse 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 Scripts.

+4

Lignende artikler

Legg igjen en kommentar