So senden Sie eine E-Mail in einem Google Sheet mit Google Scripts

So senden Sie eine E-Mail in einem Google Sheet mit Google Scripts / Programmierung

Google Scripts ist ein leistungsfähiges Werkzeug, mit dem Sie die Produktivitätstools von Google automatisieren können. So erstellen Sie einen automatisierten Google-Tabellenkalkulationsbericht aus Analytics-Daten So erstellen Sie einen automatisierten Google-Tabellenkalkulationsbericht aus Analytics-Daten Weitere Informationen finden Sie unter Tabellen und Dokumente. Die Fähigkeit, E-Mails automatisch zu senden, macht es zu einem extra leistungsfähiges Werkzeug.

Vielleicht sind Sie ein Mitarbeiter, der hofft, eine monatliche E-Mail mit automatisch berechneten Formeln in Google Sheets an Ihren Chef zu senden, Ihre Daten zu visualisieren und Ihre Tabellenkalkulationen mit einem Excel-Dashboard benutzerfreundlich zu machen Manchmal reicht ein einfaches Tabellenformat nicht aus, um Ihre Daten zugänglich zu machen. Über ein Dashboard können Sie Ihre wichtigsten Daten in einem übersichtlichen Format darstellen. Weiterlesen . Oder Sie sind vielleicht ein Manager, der viel zu viel Zeit damit verbringt, einzelne Mitglieder Ihres Teams mit Informationen wie Leistungsdaten oder Statusaktualisierungen zu kontaktieren. Die Google Scripts-Funktion, die Sie in diesem Artikel kennen lernen, hilft Ihnen bei der Durchführung dieser Aufgaben und vielem mehr.

Mit nur einem geringen Aufwand müssen Sie die Daten nie mehr manuell senden. Lassen Sie Google Scripts als persönlichen Assistenten fungieren, der die gesamte Arbeit für Sie erledigt.

Einrichten Ihres Blattes zum Senden von E-Mails

Der erste Schritt für das Versenden von E-Mails über Google Sheets mit Google Script ist das korrekte Einrichten eines Arbeitsblatts, das alle Namen, E-Mail-Adressen und Nachrichten an alle Personen enthält, an die das Skript E-Mails senden soll.

In meinem Beispiel beginne ich mit einer Tabelle, die ich so eingerichtet habe, dass alle veröffentlichten Artikel des Monats automatisch aus Google Analytics importiert werden. Erstellen eines Killer-Website-Analytics-Dashboards mit Google Core Reporting API Erstellen eines Killer-Website-Analytics-Dashboards mit Google Core Reporting API Möchten Sie eine Website einfach veröffentlichen und blind ausführen, oder möchten Sie ein voll funktionsfähiges, funktionales Dashboard, das Ihnen zeigt, was mit der Website zu jeder Zeit passiert? Weiterlesen . Ich habe ein erstellt “Alle Autoren” Blatt, das die veröffentlichten Artikel für jeden Autor zusammenfasst, und nun möchte ich jedem einzelnen Autor eine E-Mail mit seinem Tally schicken.

Um zu beginnen, erstellen Sie Ihr spezielles E-Mail-Blatt, indem Sie ein neues Blatt in Ihre aktuelle Tabelle einfügen und es so nennen “E-Mails senden”.

In diesem neuen Blatt "E-Mail senden" möchten Sie eine Kopfzeile erstellen. Jede Zeile in dieser Tabelle stellt eine einzelne E-Mail dar, die versendet wird. In diesem Beispiel habe ich ein Blatt für den Namen des Empfängers, seine E-Mail-Adresse und Teile der Nachricht erstellt, die ich im Skript zusammenstellen werde.

Sie können eine E-Mail mit beliebiger Größe und Struktur erstellen, indem Sie Spalten verwenden, um statische und dynamische Informationen zusammenzusetzen.

Die statischen Informationen sind nur Text, den ich in die Zelle eingegeben habe. Dies ändert sich nicht von Monat zu Monat. Es ist nur ein Teil der E-Mail, der immer gleich bleibt. Sie können jedoch für die Daten, die Sie jeden Monat ändern möchten, Funktionen einfügen, mit denen die relevanten Daten aus einem anderen Arbeitsblatt in Ihrer Kalkulationstabelle importiert werden.

Die Idee dabei ist, dass Sie beim Öffnen des Arbeitsblatts zur Überprüfung Ihres automatisierten Berichts über ein Menüelement verfügen, auf das Sie klicken können, um die E-Mail zum Senden von E-Mails von Google Script auszuführen und die Ergebnisse an alle zu verteilen. Wie Sie diesen neuen Menüpunkt anpassen können, erfahren Sie am Ende dieses Artikels.

Wenn Sie mit der Erstellung Ihres Arbeitsblatts fertig sind, sieht es ungefähr so ​​aus:

Nun, da Ihr Blatt für alle einzelnen E-Mails fertig ist, ist es endlich an der Zeit, das Skript zu schreiben!

Automatisiertes E-Mail-Skript schreiben

Um Ihr Skript zu schreiben, müssen Sie den Skripteditor verwenden. Sie finden den Skript-Editor unter Werkzeuge Menü durch Auswahl Script Editor.

Der Skripteditor sieht in etwa so aus. Oben im rechten Bereich müssen Sie eine neue Funktion erstellen.

Kopieren Sie einfach das unten stehende Skript und fügen Sie es in den Skriptbereich ein.

function sendArticleCountEmails () var ss = SpreadsheetApp.getActiveSpreadsheet (); ss.setActiveSheet (ss.getSheetByName ("Send-Emails")); var sheet = SpreadsheetApp.getActiveSheet (); var dataRange = sheet.getRange ("A2: F4"); var data = dataRange.getValues ​​(); für (i in data) var rowData = data [i]; var emailAddress = rowData [1]; var Empfänger = Zeilendaten [0]; var message1 = Zeilendaten [2]; var message2 = Zeilendaten [3]; var parameter2 = rowData [4]; var message3 = Zeilendaten [5]; var message = 'Sehr geehrter' + Empfänger + ', \ n \ n' + message1 + "+ message2 +" + parameter2 + "+ message3; var subject = 'Ihre Artikelanzahl für diesen Monat'; MailApp.sendEmail (emailAddress, subject , Botschaft);  

Dieses Skript mag etwas kompliziert aussehen, ist es aber überhaupt nicht. Lassen Sie uns es aufschlüsseln, damit Sie genau wissen, was jede Zeile macht.

Code brechen

Damit diese Funktion richtig funktioniert, müssen Sie sicherstellen, dass das Blatt, in dem alle Ihre E-Mail-Informationen gespeichert sind, tatsächlich das aktive Blatt ist. Sonst funktioniert alles, was danach kommt, nicht. Dafür gibt es diese beiden Zeilen:

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

Als nächstes müssen wir alle Daten aus diesem Arbeitsblatt extrahieren. Das sheet.GetRange () Diese Methode extrahiert Informationen aus dem Bereich der Zellen, den Sie in Anführungszeichen angeben. Als nächstes die dataRange.getValues ​​() Die Methode extrahiert die Werte tatsächlich und speichert sie in einem zweidimensionalen Array, das als aufgerufen wird Daten.

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

Nun, da wir alle Daten in einem Array gespeichert haben, können wir das Array mit einem Loop durchlaufen zum Schleife. Jedes Element des Arrays ist eine Zeile, die ein eindimensionales Array von Spaltenelementen enthält. Sie können jede Spalte mit einer Nummer referenzieren.

var rowData = data [i]; var emailAddress = rowData [1]; var Empfänger = Zeilendaten [0]; var message1 = Zeilendaten [2]; var message2 = Zeilendaten [3]; var parameter2 = rowData [4]; var message3 = Zeilendaten [5];

Wie Sie oben sehen können, zog ich die Spaltenelemente in ein eindimensionales Array, genannt rowData. Dann referenziere ich auf die zweite Spalte (um die E-Mail-Adresse zu erhalten) rowData [1], das zweite Element des Arrays (das erste Element eines Arrays ist immer Null).

Der nächste Schritt in dieser Funktion ist das Zusammensetzen aller Segmente der Nachrichten, aus denen der E-Mail-Text besteht. Das Schöne daran ist, dass Sie dem E-Mail-Inhalt tatsächlich ein ziemlich gutes Format zuweisen können, indem Sie die \ n Zeichen, das ein Wagenrücklauf ist. Die Verkettung des E-Mail-Textes sieht folgendermaßen aus:

var message = 'Sehr geehrter' + Empfänger + ', \ n \ n' + message1 + "+ message2 +" + parameter2 + "+ message3;

Das + Zeichen ist der Verkettungsbefehl 16 Excel-Formeln, die Ihnen beim Lösen realer Probleme helfen werden 16 Excel-Formeln, die Ihnen beim Lösen realer Probleme helfen Das richtige Werkzeug ist die Hälfte der Arbeit. Excel kann Berechnungen lösen und Daten schneller verarbeiten, als Sie Ihren Rechner finden können. Wir zeigen Ihnen die wichtigsten Excel-Formeln und zeigen, wie Sie diese verwenden. Weiterlesen . Sie setzen tatsächlichen statischen Text in einfache Anführungszeichen. Diese Botschaft setzt sich also aus dem Wort zusammen “sehr geehrter ” vor der Empfängervariable (Hinweis “sehr geehrter ” hat ein Leerzeichen).

Als nächstes fügen Sie zwei Wagenrückläufe am Ende hinzu. Dadurch wird die eigentliche Nachricht innerhalb des Hauptteils zwei Zeilen nach unten gestartet. Als Nächstes fügen Sie das erste Nachrichtensegment, ein Leerzeichen, das zweite Nachrichtensegment, ein Leerzeichen, die Variable hinzu, die jeden Monat in die Nachricht eingefügt wird, und schließlich den letzten Teil der Nachricht.

Sie können so viele Teile der Nachricht haben, wie Sie möchten. Sie müssen lediglich mehrere Spalten verwenden, um die gesamte Nachricht in Teilen zu erstellen.

Die letzten paar Zeilen des Codes legen lediglich die Betreffzeile für die E-Mail fest (dies kann auch Daten aus der Tabelle enthalten, wenn Sie dies wollten) und schließlich die E-Mail senden() Methode.

So lösen Sie Ihr Skript aus

Zurück im Skript-Editor-Fenster, suchen Sie einfach nach “onOpen” Funktion. Wenn die Funktion vorhanden ist, werden Sie wahrscheinlich eine Reihe von Code in den Klammern sehen. Gehen Sie zum Ende des Codes und fügen Sie die folgenden Zeilen ein:

var Spreadsheet = SpreadsheetApp.getActive (); var menuItems = [Name: 'E-Mails senden', functionName: 'sendArticleCountEmails']; spreadsheet.addMenu ('Emails senden', menuItems);

Geben Sie einfach den genauen Namen Ihrer Funktion in einfache Anführungszeichen für das ein Funktionsname Parameter. Dadurch wird jedes Mal ein benutzerdefiniertes Menüelement in Ihr Arbeitsblatt geladen, wenn Ihr Arbeitsblatt geöffnet wird.

Wenn Sie jetzt Ihre Tabelle monatlich öffnen, um alle Ihre Daten zu überprüfen, müssen Sie lediglich auf den Menüpunkt klicken, um die E-Mails zu versenden. Dadurch wird Ihre neue Funktion ausgeführt und alle diese E-Mails werden für Sie gesendet. Für einen Job, für den Sie früher mehrere Stunden gebraucht haben, ist jetzt nur noch ein Mausklick erforderlich!

Mit Google-Skripts können Sie Zeit sparen

Dies ist nur ein Beispiel für die vielen Möglichkeiten, mit Google Scripts alle möglichen Dinge zu automatisieren. 4 Google Scripts, die Google Sheets viel leistungsfähiger machen 4 Google Scripts, die Google Sheets viel leistungsfähiger machen Google Google Sheets ist großartig, aber Es kann sogar noch leistungsfähiger sein, wenn Sie Google Scripts verwenden, um seine Funktionen zu verbessern. Lesen Sie mehr, um Zeit zu sparen. Sie können beispielsweise Google-Skripts verwenden, um automatisch einen Google Analytics-Bericht zu erstellen. Der schwierige Teil ist nur, dass es im Vorfeld ein bisschen Arbeit kostet, aber jede Minute, die Sie für das Einrichten der Automatisierung wie diese mit Hilfe von Skripts verwenden, spart viele Stunden. Denken Sie nur an all die anderen wunderbaren Dinge, die Sie mit diesen Stunden tun könnten!

Haben Sie jemals clevere Google-Skripts verwendet, um Ihre Produktivität zu automatisieren? Teilen Sie Ihre eigenen Beispiele in den Kommentaren unten!

Erfahren Sie mehr über: Google Apps, Tabellenkalkulation.