Gebruik Google Spreadsheets om een e-mail te verzenden op basis van de celwaarde
In de volgende zelfstudie leert u hoe u de waarde van een cel in Google Spreadsheets kunt controleren. Als de waarde een bepaalde drempelwaarde overschrijdt, kunt u automatisch een waarschuwings-e-mail verzenden naar elk e-mailadres dat u wilt..
Er zijn veel toepassingen voor dit script. U kunt een melding ontvangen als de dagelijkse inkomsten in uw verkooprapport onder een bepaald niveau dalen. Of u kunt een e-mail ontvangen als uw werknemers melden dat ze de klant te veel uren in rekening hebben gebracht in uw spreadsheet voor projecttracking.
Ongeacht de toepassing, dit script is erg krachtig. Het bespaart u ook de tijd dat u uw spreadsheetupdates handmatig moet controleren.
Stap 1: een e-mail verzenden met Google Spreadsheets
Voordat u een Google Apps Script kunt maken om een e-mail te verzenden vanuit Google Spreadsheets, heeft u ook een Gmail-e-mailadres nodig, waarmee Google Apps Script uw e-mailberichten kan verzenden.
U moet ook een nieuwe spreadsheet maken die een e-mailadres bevat.
Voeg gewoon een naamkolom en een e-mailkolom toe en vul ze in met de persoon aan wie u de waarschuwings-e-mail wilt ontvangen.
Nu je een e-mailadres hebt om een waarschuwingsmail naar toe te sturen, is het tijd om je script te maken.
Om in de scripteditor te komen, klikt u op Hulpmiddelen, en klik vervolgens op Script-editor.
U ziet een scriptvenster met een standaardfunctie genaamd myFunction (). Hernoem dit om SendEmail ().
Plak vervolgens de volgende code in de functie SendEmail ():
// Haal het e-mailadres op var emailRange = SpreadsheetApp.getActiveSpreadsheet (). GetSheetByName ("Sheet1"). GetRange ("B2"); var emailAddress = emailRange.getValues (); // Stuur alert e-mail. var message = 'Dit is je e-mailmelding!'; // Tweede kolom var subject = 'Uw Google-spreadsheetwaarschuwing'; MailApp.sendEmail (emailAdres, onderwerp, bericht);
Hier is hoe deze code werkt:
- getRange en GetValues haalt de waarde uit de cel die is opgegeven in de methode getRange.
- var bericht en var onderwerp definieert de tekst die uw waarschuwings-e-mail gaat opbouwen.
- De MailApp.sendEmail functie voert uiteindelijk de e-mailfunctie van Google Scripts uit met uw verbonden Google-account.
Sla het script op door op te klikken schijf pictogram en voer het uit door op de knop te klikken rennen pictogram (pijl naar rechts).
Houd er rekening mee dat Google Script toestemming nodig heeft om toegang te krijgen tot uw Gmail-account om de e-mail te verzenden. Dus de eerste keer dat u het script uitvoert, ziet u mogelijk een waarschuwing zoals hieronder.
Klik op Toestemmingen controleren, en je ziet een ander waarschuwingsscherm dat je moet omzeilen.
Dit waarschuwingsscherm is te wijten aan het feit dat u een aangepast Google Script schrijft dat niet officieel is geregistreerd.
Klik gewoon op gevorderd, en klik vervolgens op de Ga naar SendEmail (onveilig) link.
U hoeft dit slechts één keer te doen. Uw script wordt uitgevoerd en het e-mailadres dat u in uw spreadsheet hebt opgegeven, ontvangt een e-mail zoals hieronder.
Stap 2: Een waarde van een cel lezen in Google Spreadsheets
Nu u met succes een Google Apps Script hebt geschreven dat een waarschuwings-e-mail kan verzenden, is het tijd om die waarschuwings-e-mail functioneler te maken.
De volgende stap die u leert, is hoe u een gegevenswaarde uit een Google-spreadsheet leest, de waarde controleert en een pop-upbericht geeft als die waarde boven of onder een bovengrens ligt.
Voordat u dit kunt doen, moet u nog een blad maken in het Google-spreadsheet waarmee u werkt. Noem dit nieuwe blad "MyReport".
Houd er rekening mee dat cel D2 degene is die u wilt controleren en vergelijken. Stel je voor dat je elke maand wilt weten of je totale omzet onder de $ 16.000 is gezakt.
Laten we het Google Apps Script maken dat dat doet.
Ga terug naar je Scripteditor-venster door op te klikken Hulpmiddelen en dan Scripteditor.
Als u dezelfde spreadsheet gebruikt, heeft u nog steeds de SendEmail () functie daarbinnen. Knip die code en plak deze in Kladblok. Je hebt het later nodig.
Plak de volgende functie in het codevenster.
functie CheckSales () // Haal de maandelijkse verkoop op var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); var ui = SpreadsheetApp.getUi (); // Controleer totalen verkopen als (maand Verkoop < 16000) ui.alert('Sales too low!');
Hoe deze code werkt:
- Laad de waarde uit de cel D2 in de monthSales veranderlijk.
- De IF-verklaring vergelijkt de maandelijkse verkopen in cel D2 met $ 16.000
- Als de waarde hoger is dan 16.000, activeert de code een berichtvenster met een waarschuwing.
Sla deze code op en voer deze uit. Als het correct werkt, zou u het volgende waarschuwingsbericht in uw browser moeten zien.
Nu u een Google Apps Script hebt dat een e-mailmelding kan verzenden en een ander script dat een waarde uit een spreadsheet kan vergelijken, bent u klaar om de twee te combineren en een waarschuwing te verzenden in plaats van een waarschuwingsbericht te activeren.
Stap 3: Alles samenvoegen
Nu is het tijd om de twee scripts die u hebt gemaakt te combineren in een enkel script.
Op dit punt moet u een spreadsheet hebben met een tabblad met de naam Sheet1 dat de e-mailontvanger voor meldingen bevat. Het andere tabblad MyReport bevat al uw verkoopinformatie.
Terug in de Scripteditor is het tijd om alles wat je tot nu toe hebt geleerd in de praktijk te brengen.
Vervang alle code in de scripteditor door uw twee functies, bewerkt zoals hier getoond.
functie CheckSales () // Haal de maandelijkse verkoop op var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet (). getSheetByName ("MyReport"). getRange ("D2"); var monthSales = monthSalesRange.getValue (); // Controleer totalen verkopen als (maand Verkoop < 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);
Let op de bewerkingen hier.
In de IF-instructie plakt u gewoon de SendEmail script binnenin de CheckSales () functie, binnenkant van de if-instructiehaakjes.
Ten tweede, het samenvoegen van de monthSales variabele aan het einde van het e-mailbericht met behulp van de + karakter.
Het enige dat u hoeft te doen, is elke maand de functie CheckSales () activeren.
Om dit te doen, in de scripteditor:
- Klik op de Bewerk menu-item en klik vervolgens op De triggers van het huidige project.
- Klik onderaan het scherm op maak een nieuwe trigger.
- Selecteer de CheckSales functie om uit te voeren.
- Verandering Selecteer de bron van de gebeurtenis naar -Tijdgestuurde.
- Verandering Selecteer type tijdgestuurde trigger naar Maandtimer.
Klik Opslaan om de trigger te voltooien.
Nu wordt elke maand uw nieuwe script uitgevoerd en wordt het totale maandelijkse verkoopbedrag in cel D2 vergeleken met $ 16.000.
Als dit minder is, ontvangt u een waarschuwings-e-mail met de lage maandelijkse verkoopcijfers.
Zoals je ziet, heeft Google Apps Scripts veel functionaliteit in een klein pakket. Met slechts een paar eenvoudige coderegels kun je een aantal verbazingwekkende dingen doen.
Als u nog meer wilt experimenteren, voegt u de vergelijkingslimiet van $ 16.000 toe aan een andere cel in de spreadsheet en leest u die vervolgens in uw script voordat u de vergelijking uitvoert. Op deze manier kunt u de limiet wijzigen door de waarde in het blad te wijzigen.
Door de code aan te passen en nieuwe codeblokken toe te voegen, kunt u verder bouwen op deze eenvoudige dingen die u leert, om uiteindelijk enkele geweldige Google Scripts te bouwen.