Google Scripts ist ein leistungsstarkes Tool, mit dem Sie Google Produktivitätstools automatisieren können. So erstellen Sie einen automatisierten Google Spreadsheet-Bericht aus Analytics-Daten So erstellen Sie einen automatisierten Google Spreadsheet-Bericht aus Analytics-Daten Lesen Sie mehr wie Google Tabellen und Google Docs. Die Möglichkeit, E-Mails automatisch zu versenden, macht es zu einem besonders leistungsstarken Werkzeug.
Vielleicht möchten Sie eine monatliche E-Mail-Nachricht mit automatisch berechneten Formeln in Google Tabellen an Ihren Chef senden. Visualisieren Sie Ihre Daten und machen Sie Ihre Tabellen benutzerfreundlich mit einem Excel-Dashboard Visualisieren Sie Ihre Daten und machen Sie Ihre Tabellen benutzerfreundlich mit einem Excel-Dashboard Manchmal reicht ein einfaches Tabellenformat nicht aus, um Ihre Daten zugänglich zu machen. Ein Dashboard ermöglicht es Ihnen, Ihre wichtigsten Daten in einem übersichtlichen Format darzustellen. Weiterlesen . Oder Sie sind ein Manager, der viel zu viel Zeit damit verbringt, einzelne Mitglieder Ihres Teams per E-Mail mit Leistungsdaten oder Statusupdates zu versorgen. Die Google Scripts-Funktion, die Sie in diesem Artikel lernen werden, hilft Ihnen bei der Durchführung dieser Aufgaben und vielem mehr.
Mit nur geringem Aufwand müssen Sie die Daten nie wieder manuell versenden. Lassen Sie Google Scripts als Ihren persönlichen Assistenten fungieren und erledigen Sie die gesamte Arbeit für Sie.
Einrichten Ihres Arbeitsblatts zum Senden von E-Mails
Der erste Schritt, um Google Script zum Senden von E-Mails über Google Tabellen zu verwenden, besteht darin, ein Blatt einzurichten, das alle Namen, E-Mail-Adressen und Nachrichten an alle Personen enthält, an die das Skript eine E-Mail senden soll.
In meinem Beispiel beginne ich mit einer Tabelle, die ich eingerichtet habe, um alle veröffentlichten Artikel für den Monat automatisch aus Google Analytics zu importieren. Create A Killer Website Analytics Dashboard Mit Google Core Reporting API Erstellen Sie ein Killer Website Analytics Dashboard mit Google Core Reporting API Möchten Sie nur eine Site veröffentlichen und blind ausführen oder möchten Sie ein funktionsreiches Dashboard mit allen Funktionen, das Ihnen jederzeit zeigt, was mit der Site passiert? Weiterlesen . Ich habe ein "All Authors" Sheet erstellt, das die veröffentlichten Artikel für jeden Autor zusammenfasst, und jetzt möchte ich jedem einzelnen Autor eine E-Mail mit seinem Tally senden.
Um zu beginnen, erstellen Sie Ihr spezielles E-Mail-Blatt, indem Sie ein neues Blatt in Ihrer aktuellen Tabelle hinzufügen und es als "Send-E-Mails" bezeichnen.
In diesem neuen Sende-E-Mail-Blatt möchten Sie eine Kopfzeile erstellen. Jede Zeile in dieser Tabelle repräsentiert eine einzelne E-Mail, die gesendet 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 in das Skript einfügen werde.
Sie können eine E-Mail beliebiger Größe und Struktur erstellen, indem Sie Spalten verwenden, um statische und dynamische Informationen zusammenzufassen.
Die statische Information ist nur Text, den ich in die Zelle eingegeben habe. Dies wird sich nicht von Monat zu Monat ändern. Es ist nur ein Teil der E-Mail-Nachricht, die immer gleich bleibt. Für die Daten, die Sie jeden Monat ändern möchten, können Sie jedoch Funktionen einfügen, mit denen die relevanten Daten aus jedem anderen Blatt in Ihrer Tabelle importiert werden.
Die Idee hier ist, dass, wenn Sie das Blatt öffnen, um Ihren automatisierten Bericht zu überprüfen, Sie ein Menüelement haben, auf das Sie klicken können, um das Senden von E-Mail Google Script auszuführen und die Ergebnisse an alle zu verteilen. Sie erfahren, wie Sie diesen neuen Menüeintrag am Ende dieses Artikels anpassen können.
Sobald Sie mit der Erstellung Ihres Blattes fertig sind, sieht es ungefähr so aus:
Jetzt, da Ihr Blatt für alle einzelnen E-Mails fertig ist, ist es endlich Zeit, das Skript zu schreiben!
Schreiben des automatisierten E-Mail-Skripts
Um Ihr Skript zu schreiben, müssen Sie den Skript-Editor verwenden. Sie finden den Skript-Editor im Menü "Extras", indem Sie den Skript-Editor auswählen.
Der Skript-Editor sieht ungefähr wie folgt aus. Sie müssen oben rechts im Fenster eine neue Funktion einfügen.
Kopieren Sie einfach das folgende 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(); 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 = 'Dear ' + recipient + ', \n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3; var subject = 'Your article count for this month'; MailApp.sendEmail(emailAddress, subject, message); } }
Dieses Skript mag etwas kompliziert aussehen, aber es ist überhaupt nicht so. Lass es uns brechen, damit du genau weißt, was jede Zeile macht.
Brechen Sie den Code auf
Damit diese Funktion richtig funktioniert, müssen Sie sicherstellen, dass das Blatt, auf dem alle Ihre E-Mail-Informationen gespeichert sind, das aktive Blatt ist. Sonst wird alles, was danach kommt, nicht funktionieren. Dafür sind diese zwei Zeilen gedacht:
var ss = SpreadsheetApp.getActiveSpreadsheet(); ss.setActiveSheet(ss.getSheetByName("Send-Emails"));
Als nächstes müssen wir alle Daten aus diesem Blatt extrahieren. Die Methode sheet.GetRange () extrahiert Informationen aus beliebigen Zellbereichen, die Sie in Anführungszeichen angeben . Als Nächstes extrahiert die Methode dataRange.getValues () die Werte und speichert sie in einem zweidimensionalen Array namens data .
var sheet = SpreadsheetApp.getActiveSheet(); var dataRange = sheet.getRange("A2:F4"); var data = dataRange.getValues();
Jetzt, da wir alle Daten in einem Array gespeichert haben, können wir das Array mit einer for- Schleife durchlaufen. 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 recipient = rowData[0]; var message1 = rowData[2]; var message2 = rowData[3]; var parameter2 = rowData[4]; var message3 = rowData[5];
Wie Sie oben sehen können, habe ich die Spaltenelemente in ein eindimensionales Array namens rowData gezogen . Dann referenziere ich die zweite Spalte (um die E-Mail-Adresse zu erhalten), indem ich rowData [1], das zweite Element des Arrays (das erste Element eines Arrays ist immer Null), referenziere.
Der nächste Schritt in dieser Funktion besteht darin, alle Segmente der Nachrichten zusammenzufügen, aus denen der Text der E-Mail besteht. Das Schöne dabei ist, dass Sie dem E-Mail-Inhalt ein ziemlich gutes Format geben können, indem Sie das \ n- Zeichen verwenden, das ein Wagenrücklauf ist. So sieht die Verkettung des E-Mail-Körpers aus:
var message = 'Dear ' + recipient + ', \n\n' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;
Das + -Zeichen ist der Verkettungsbefehl 16 Excel-Formeln, die Ihnen helfen werden, Probleme im wirklichen Leben zu lösen 16 Excel-Formeln, die Ihnen helfen werden, reale Probleme zu lösen Das richtige Werkzeug ist die halbe Arbeit. Excel kann Berechnungen schneller durchführen und Daten verarbeiten, als Sie Ihren Rechner finden können. Wir zeigen Ihnen wichtige Excel-Formeln und demonstrieren, wie Sie sie verwenden. Weiterlesen . Sie fügen tatsächlichen statischen Text in einfache Anführungszeichen ein. Also wird diese Nachricht zusammengefügt, indem das Wort "Dear" vor die Empfängervariable gesetzt wird (Hinweis "Dear" hat ein Leerzeichen).
Als Nächstes fügen Sie zwei Wagenrücklaufzeichen am Ende hinzu. Dies startet die eigentliche Nachricht innerhalb des Körpers zwei Zeilen nach unten. Als Nächstes fügen Sie das erste Nachrichtensegment, ein Leerzeichen, das zweite Nachrichtensegment, ein Leerzeichen, die Variable, die jeden Monat in die Nachricht eingefügt wird, und schließlich den letzten Teil der Nachricht hinzu.
Sie können so viele Teile der Nachricht haben, wie Sie möchten, Sie müssen einfach mehr Spalten verwenden, um die gesamte Nachricht in Teilen zu erstellen.
Die letzten paar Zeilen des Codes setzen nur die Betreffzeile für die E-Mail (dies könnte auch Daten aus der Tabelle enthalten, wenn Sie möchten) und schließlich die sendEmail () -Methode.
So lösen Sie Ihr Skript aus
Zurück im Skript-Editor-Fenster suchen Sie einfach nach der "onOpen" -Funktion. Wenn die Funktion dort ist, werden Sie wahrscheinlich eine Menge Code innerhalb der Klammern sehen. Gehe zum Ende dieses Codes und füge die folgenden Zeilen ein:
var spreadsheet = SpreadsheetApp.getActive(); var menuItems = [ {name: 'Send Emails', functionName: 'sendArticleCountEmails'} ]; spreadsheet.addMenu('Send Emails', menuItems);
Stellen Sie sicher, dass Sie den genauen Namen Ihrer Funktion in einfachen Anführungszeichen für den Parameter functionName eingeben. Dadurch wird bei jedem Öffnen des Blattes ein benutzerdefiniertes Menüelement in Ihr Blatt geladen.
Wenn Sie nun Ihre Tabelle monatlich öffnen, um alle Ihre Daten zu überprüfen, müssen Sie lediglich auf den Menüeintrag klicken, um die E-Mails zu versenden. Dies wird Ihre neue Funktion ausführen und alle diese E-Mails für Sie senden. Ein Job, der früher mehrere Stunden dauerte, erfordert jetzt nur noch einen Mausklick!
Google-Skripts können Ihnen helfen, Zeit zu sparen
Dies ist nur ein Beispiel für die vielen Möglichkeiten, wie Sie mit Google Scripts alle Arten von Dingen automatisieren können. Google Scripts, die Google Tabellen viel leistungsfähiger machen Google Scripts, die Google Tabellen viel leistungsfähiger machen Google Tabellen sind hervorragend geeignet, aber Es kann sogar noch leistungsfähiger sein, wenn Sie Google Scripts zur Verbesserung seiner Funktionen verwenden. Lesen Sie mehr, die Ihnen Zeit sparen. Der schwierige Teil ist nur, dass es ein wenig Arbeit im Voraus braucht, aber jede Minute, die Sie verbringen, um Automatisierung wie diese mit Hilfe von Skripten einzurichten, spart viele Stunden. Denken Sie nur an all die anderen wundervollen Dinge, die Sie mit diesen Stunden tun können!
Haben Sie jemals clevere Google Scripts zur Automatisierung Ihrer Produktivität verwendet? Teilen Sie Ihre eigenen Beispiele in den Kommentaren unten!