Hoe e-mail verzenden in een Google-blad met Google Scripts

Hoe e-mail verzenden in een Google-blad met Google Scripts / Programming

Google Scripts is een krachtig hulpmiddel dat u kunt gebruiken om productiviteitstools van Google te automatiseren Een geautomatiseerd Google-spreadsheetrapport maken op basis van analysegegevens Hoe u een geautomatiseerd Google-spreadsheetrapport kunt maken op basis van Analytics-gegevens Lees meer zoals Spreadsheets en Documenten. De mogelijkheid om automatisch e-mails te verzenden maakt het een extra krachtig gereedschap.

Misschien bent u een werknemer en hoopt u maandelijks een e-mail te sturen naar uw baas met automatisch berekende formules in Google Spreadsheets Visualiseer uw gegevens & maak uw spreadsheets Gebruiksvriendelijk met een Excel-dashboard Visualiseer uw gegevens & maak uw spreadsheets Gebruiksvriendelijk met een Excel-dashboard Soms is een eenvoudig spreadsheetformaat niet boeiend genoeg om uw gegevens toegankelijk te maken. Met een dashboard kunt u uw belangrijkste gegevens in een gemakkelijk te verwerken vorm presenteren. Lees verder . Of misschien ben je een manager die veel te veel tijd besteedt aan het e-mailen van individuele leden van je team met dingen zoals prestatiegegevens of statusupdates. De Google Scripts-functie die u in dit artikel zult leren, zal u helpen deze taken uit te voeren en nog veel meer.

Met slechts een kleine inspanning één keer hoeft u nooit meer handmatig gegevens te verzenden. Laat Google Scripts optreden als uw persoonlijke assistent, en doe al het werk voor u.

Uw blad instellen om e-mail te verzenden

De eerste stap om ervoor te zorgen dat uw Google Script e-mail verzendt via Google Spreadsheets, is het correct instellen van een werkblad met alle namen, e-mailadressen en berichten voor alle mensen die u het script wilt laten e-mailen.

In mijn voorbeeld begin ik met een spreadsheet die ik heb ingesteld om automatisch alle gepubliceerde artikelen voor de maand uit Google Analytics te importeren. Een website maken Analyse van website Analytics Dashboard met Google Core Reporting API Een moordenaar maken Website Analytics Dashboard met Google Core Reporting API Wilt u gewoon een site publiceren en deze blindelings uitvoeren, of wilt u een volledig functioneel dashboard dat u te allen tijde laat zien wat er met de site gebeurt? Lees verder . Ik heb een gemaakt “Alle auteurs” blad dat de gepubliceerde artikelen voor elke auteur weergeeft, en nu wil ik elke individuele auteur een e-mail sturen met hun aantekening.

Maak om te beginnen uw speciale e-mailblad door een nieuw blad in uw huidige spreadsheet toe te voegen en het zoiets te noemen “Stuur emails”.

In dit nieuwe blad met e-mails verzenden, wilt u een koptekst maken. Elke rij in deze spreadsheet vertegenwoordigt een individuele e-mail die wordt verzonden. Dus in dit voorbeeld heb ik een blad gemaakt voor de naam van de ontvanger, zijn e-mailadres en stukjes van het bericht die ik samen in het script ga plakken.

U kunt een e-mail maken van elke grootte en structuur door kolommen te gebruiken om zowel statische als dynamische informatie bij elkaar te voegen.

De statische informatie is alleen tekst die ik in de cel heb getypt. Dit verandert niet van maand tot maand. Het is slechts een deel van het e-mailbericht dat altijd hetzelfde blijft. Voor de gegevens die u elke maand wilt wijzigen, kunt u echter functies invoegen die de relevante gegevens van een ander blad in uw spreadsheet importeren..

Het idee hier is dat telkens wanneer u het blad opent om uw geautomatiseerde rapport te bekijken, u een menu-item hebt waarop u kunt klikken om het Google Script voor verzenden per e-mail uit te voeren en de resultaten naar iedereen te distribueren. Je zult zien hoe je dit nieuwe menu-item aan de onderkant van dit artikel kunt aanpassen.

Als u klaar bent met het maken van uw blad, ziet het er ongeveer zo uit:

Nu uw blad voor alle afzonderlijke e-mails klaar is, is het eindelijk tijd om het script te schrijven!

Het geautomatiseerde e-mailscript schrijven

Als u uw script wilt schrijven, moet u de scripteditor gebruiken. Je vindt de scripteditor onder de Hulpmiddelen menu door te selecteren Script-editor.

De scripteditor ziet er ongeveer zo uit. U moet een nieuwe functie openen in de rechterbovenhoek van het venster.

Kopieer en plak het onderstaande script in het scriptgedeelte.

function sendArticleCountEmails () var ss = SpreadsheetApp.getActiveSpreadsheet (); ss.setActiveSheet (ss.getSheetByName ( "Verzenden Emails")); var sheet = SpreadsheetApp.getActiveSheet (); var dataRange = sheet.getRange ("A2: F4"); var data = dataRange.getValues ​​(); for (i in data) var rowData = data [i]; var emailAddress = rowData [1]; var recipient = rowData [0]; var message1 = rowData [2]; var message2 = rowData [3]; var parameter2 = rowData [4]; var message3 = rowData [5]; var message = 'Geachte' + ontvanger + ', \ n \ n' + bericht1 + "+ bericht2 +" + parameter2 + "+ bericht3; var subject = 'Uw artikel telt voor deze maand'; MailApp.sendEmail (emailAdres, subject , bericht);

Dit script ziet er misschien wat ingewikkeld uit, maar het is eigenlijk helemaal niet. Laten we het opsplitsen, zodat u precies weet wat elke regel aan het doen is.

De code doorbreken

Om ervoor te zorgen dat deze functie goed werkt, moet u ervoor zorgen dat het blad waarop al uw e-mailinformatie is opgeslagen, feitelijk het actieve blad is. Anders zal alles wat daarna komt niet werken. Dat is waar deze twee lijnen voor zijn:

var ss = SpreadsheetApp.getActiveSpreadsheet (); ss.setActiveSheet (ss.getSheetByName ( "Verzenden Emails"));

Vervolgens moeten we alle gegevens uit dat blad extraheren. De sheet.GetRange () methode zal informatie uit elk cellenbereik dat u verstrekt tussen aanhalingstekens extraheren. Vervolgens de dataRange.getValues ​​() methode haalt de waarden feitelijk uit en slaat ze op in een opgeroepen tweedimensionaal array gegevens.

var sheet = SpreadsheetApp.getActiveSheet (); var dataRange = sheet.getRange ("A2: F4"); var data = dataRange.getValues ​​();

Nu we alle gegevens in een array hebben opgeslagen, kunnen we de array doorlopen met a voor lus. Elk element van de array is een rij met een eendimensionale reeks kolomelementen. U kunt naar elke kolom verwijzen met behulp van een cijfer.

var rowData = data [i]; var emailAddress = rowData [1]; var recipient = rowData [0]; var message1 = rowData [2]; var message2 = rowData [3]; var parameter2 = rowData [4]; var message3 = rowData [5];

Zoals je hierboven kunt zien, heb ik de kolomelementen in een eendimensionale array getrokken rowData. Vervolgens verwijs ik naar de tweede kolom (om het e-mailadres te verkrijgen) door te verwijzen rowData [1], het tweede element van de array (het eerste element van een array is altijd nul).

De volgende stap in deze functie is het samenvoegen van alle segmenten van de berichten waaruit de e-mail bestaat. Het leuke hier is dat je de e-mailinhoud een behoorlijk goed formaat kunt geven door de \ n karakter, dat is een carriage return. Hier is wat de aaneenschakeling van de e-mailtekst eruit ziet als:

var message = 'Geachte' + ontvanger + ', \ n \ n' + bericht1 + "+ bericht2 +" + parameter2 + "+ bericht3;

De + teken is de aaneenschakelingsopdracht 16 Excel-formules die u zullen helpen om problemen met het echte leven op te lossen 16 Excel-formules die u kunnen helpen om problemen met het echte leven op te lossen De juiste tool is het halve werk. Excel kan berekeningen verwerken en gegevens sneller verwerken dan u uw rekenmachine kunt vinden. We laten u de belangrijkste Excel-formules zien en laten zien hoe u ze kunt gebruiken. Lees verder . U plaatst werkelijke statische tekst in enkele aanhalingstekens. Dus deze boodschap is samengevoegd door het woord te plaatsen “Geachte ” voor de variabele van de ontvanger (opmerking “Geachte ” heeft een spatie).

Vervolgens voeg je twee carriage returns toe aan het einde. Hiermee wordt het eigenlijke bericht in het lichaam twee regels naar beneden gestart. Vervolgens voegt u het eerste berichtsegment toe, een spatie, het tweede berichtsegment, een spatie, de variabele die elke maand in het bericht wordt ingevoegd en als laatste het laatste deel van het bericht.

Je kunt zoveel delen van het bericht als je wilt hebben, je hoeft alleen maar meer kolommen te gebruiken om het hele bericht in stukjes te maken.

De laatste paar regels van de code hebben zojuist de onderwerpregel voor de e-mail ingesteld (dit zou ook gegevens uit de spreadsheet kunnen bevatten als u dat wilde) en tot slot de sendEmail () methode.

Hoe u uw script kunt triggeren

Terug in het Scripteditor-venster, zoekt u gewoon naar “OnOpen” functie. Als de functie er is, ziet u waarschijnlijk een aantal codes tussen de haakjes. Ga naar de onderkant van die code en voeg de volgende regels in:

var spreadsheet = SpreadsheetApp.getActive (); var menuItems = [name: 'Send Emails', functionName: 'sendArticleCountEmails']; spreadsheet.addMenu ('Send Emails', menuItems);

Zorg ervoor dat u de exacte naam van uw functie in enkele aanhalingstekens typt voor de functionName parameter. Hierdoor wordt een aangepast menu-item in uw blad geladen telkens wanneer uw blad wordt geopend.

Wanneer u nu uw spreadsheet maandelijks opent om al uw gegevens te bekijken, hoeft u alleen maar op het menu-item te klikken om de e-mails te verzenden. Hiermee wordt je nieuwe functie uitgevoerd en worden al deze e-mails voor je verzonden. Een taak die u enkele uren in beslag nam, heeft nu slechts één klik van de muis nodig!

Google Scripts kan u helpen tijd te besparen

Dit is slechts een voorbeeld van de vele manieren waarop u Google Scripts kunt gebruiken om allerlei dingen te automatiseren 4 Google Scripts die Google Spreadsheets veel krachtiger maken 4 Google Scripts die Google Spreadsheets maken Veel krachtiger Google Spreadsheets is geweldig uit de doos, maar het kan nog krachtiger zijn als u Google Scripts gebruikt om zijn mogelijkheden te verbeteren. Lees meer dat u tijd bespaart. U kunt bijvoorbeeld Google Scripts gebruiken om automatisch een Google Analytics-rapport te genereren. Het lastige is dat er van tevoren wel wat moet worden gedaan, maar elke minuut die je besteedt aan het instellen van automatisering zoals deze met behulp van scripting is vele uren bespaard. Denk aan alle andere prachtige dingen die je met die uren kunt doen!

Heeft u ooit slimme Google Scripts gebruikt om uw productiviteit te automatiseren? Deel uw eigen voorbeelden in de opmerkingen hieronder!

Meer informatie over: Google Apps, Spreadsheet.