Email mit PDF Anhang versenden als Google Tabellen Script (Snippet)
In diesem sehr kurzen Tutorial und sogenannten Snippet, "Email mit PDF Anhang versenden als Google Tabellen Script", zeige ich Euch wie Ihr ein Script erstellen könnt welches eine Email versendet. Hier wird im Anhang der Email die Tabelle im PDF Format mitgeschickt.
Im Script für die Funktion selbst habe ich die einzelnen Zeilen kommentiert. Hiermit sollte es eigentlich einfach sein das Script vom Aufbau her zu verstehen.
Das Script könnt Ihr kopieren und müsst es in Euren Scripteditor einfügen.
Vorab ein Video welches Euch zeigt wie man ein einfaches Script programmieren kann und wie Ihr den Scripteditor aufrufen könnt:
Mein erstes Script programmieren mit GOOGLE Tabellen
Achtung:
Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Beschreibung des Scriptes Email mit PDF Anhang versenden als Google Tabellen Script:
Die Funktion emailMitPDFAnhangVersenden() ist eine Funktion die Ihr direkt über den Scripteditor aufrufen könnt. Ihr könnt natürlich auch einen Button erstellen um diese Funktion über ein Klick darauf auszuführen. Wie das mit dem Button funktioniert zeige ich in dem oben angegebenen Video.
Tabelle vorbereiten:
Ich habe eine kleine Tabelle vorbereitet die Daten wie Betreff, Email und Nachricht enthalten die über das Script ausgelesen werden. Hier könnt Ihr im Script natürlich auch feste Werte eintragen damit diese in der Tabelle die ja als PDF Datei verschickt wird nicht sichtbar sind.
Ihr solltet wenn Ihr dieses Script benutzt zum Testen darauf achten dass die Daten auch in den richtigen Zellen stehen:
B2: Betreff der Email
B3: Emailadresse des Empfängers
B4: Die Nachricht
Der Aufbau der Tabelle kann in etwa so aussehen:
Beschreibung des Scripts
Im oberen Bereich des Scriptes wird auf das aktive Tabellenblatt zugegriffen.
Anschließend werden über getValue die Daten für den Betreff, die Emailadresse des Empfängers und die Nachricht aus den Zellen B2 bis B4 ausgelesen und den entsprechenden Variablen zugewiesen.
Anschließend wird die Tabelle selbst über die Tabellen ID zugewiesen. Es lässt sich ganz einfach die Tabellen ID über den Aufruf von getID() holen.
Damit es eine PDF Datei wird müssen wir das über getAs('application/pdf') holen und umwandeln.
Der Anhang wird vorbereitet und der Name sowie der Inhalt und Typ wird festgelegt. Damit wir den Betreff als Dateinamen verwenden können habe ich direkt hinter den betreff +".pdf" eingetragen. Damit erhalten wir den Betreff inklusive angehängten ".pdf". Das ist wichtig weil Euch eventuell sonst nach dem Download die Datei nicht als PDF Datei angezeigt wird.
Bei mir wurde allerdings auch ohne +".pdf" die Datei in GOOGLE Mail korrekt angezeigt. Nur nach dem Download gab es Probleme.
Zum Schluss wird das ganze dann inklusive Anhang verschickt.
Email mit PDF Anhang versenden als Google Tabellen Script
function emailMitPDFAnhangVersenden(){ // Auf das aktive Tabellenblatt zugreifen var as = SpreadsheetApp.getActive(); // Den Betreff für die Email aus Zelle B2 auslesen var betreff = as.getRange("B2").getValue(); // Die Emailadresse für den Empfänger aus Zelle B3 auslesen var emailEmpfaengerAdresse = as.getRange("B3").getValues(); // Die Nachricht für die Email aus der Zelle B4 auslesen var nachricht = as.getRange("B4").getValues(); // Das Tabellenblatt als PDF der Variablen pdf zuweisen var pdf = DriveApp.getFileById(as.getId()).getAs('application/pdf').getBytes(); // Den Anhang festlegen (Name des Anhangs, Inhalt, Typ) var anhang = {fileName:(betreff+".pdf"),content:pdf, mimeType:'application/pdf'}; // Senden der Email MailApp.sendEmail(emailEmpfaengerAdresse, betreff, nachricht, {attachments:[anhang]}); }
Die Benutzung der Scripte erfolgt natürlich wie immer auf eigene Gefahr.
Euch gefällt das Script und Ihr wollt Euch gerne bedanken?
Hier ist meine AMAZON – Wunschliste [HIER KLICKEN] 😉
Dies ist Teil der Serie: "Google Tabellen Script Programmierung"
Dieses Tutorial ist Teil einer Serie die als eine Art Datenbank für kleinere Snippets dient. Damit habt Ihr die Möglichkeit für Eure Projekte einen Teil des Codes hier direkt zu kopieren und wie in Modulbauweise das ganze anzuwenden.
Die Liste aller Snippets findet Ihr hier:
Google Tabellen Script Programmierung
Das könnte Dich auch interessieren
- Aktive Zeile in andere Tabelle kopieren (Google Tabellen Script) Snippet
- Aktive Zelle auslesen mit einem Google Tabellen Script
- Daten anderer Tabellen kopieren (Google Tabellen Script)
- Daten mit Script an den Listenanfang verschieben (Google Tabellen Script)
- Einfügen oder löschen einzelner Zellen bei Google Tabellen
- Email Betreff und Nachricht von GMail abrufen Google Tabellen Script
- Google Tabellen Script autorisieren
- Hallo Welt in Google Tabellen Script
- Kalender mit Tabelle verbinden / verknüpfen (Google Tabellen Script)
- Tutorials über Google Tabellen Script - Programmierung
- Vergleichen der Werte von Zellen mit Google Tabellen Script
- Wertebereich einer Zelle mit Google Tabellen Script überprüfen
- Wo steht die GOOGLE Tabellen ID
- Zeitstempel programmieren in Google Tabellen
- Übersichts-Liste der GOOGLE Tabellen Script Tutorials
9 Comments
Hallo,
super Anleitung, wie bekomme ich es hin das nur ein bestimmter Tab als PDF versendet wird?
Viele Grüße
Das habe ich noch nicht getestet aber schau mal hier, das sollte Dir weiterhelfen:
use-google-app-script-to-email-only-one-of-the-4-tabs-in-a-worksheet
Danke, der Ansatz funktioniert
Wunderbar, das freut mich zu hören 🙂
Klasse Tutorial. Möglicherweise hilft mir das bei eine kleinen Projekt. Ich sammle Daten über Google Formular in einer damit verknüpften Google Tabelle. Nun möchte ich das bei jedem neuen Eintrag eine PDF mit den über das Formular erfassten Daten versandt wird. Eine Idee dazu?
Grüße,
Markus
Die Basis hast Du ja schon hier im Tutorial. Wenn Du jetzt noch das Tutorial schaust welches im oberen Bereich angegeben ist ( https://toptorials.com/mein-erstes-script-programmieren-mit-google-tabellen/ ), dann siehst Du wie man einen Button mit der ganzen Sache Verbindet. Das heißt, wenn alle Daten eingegeben oder aktualisiert wurden, kannst Du über den Button das ganze senden lassen.
Die Nachricht musst Du natürlich verlängern und weitere Zellen (also alles was Du benötigst) hinzufügen.
Probier das mal aus, wenn Du an einer Stelle nicht weiter kommst, dann kannst Du das Script ja mal hier posten.
Viele Grüße
Chris
Kurze Information: Ich weiß nicht ob es nur bei mir so ist, aber falls jemand vor dem selben Problem steht, dass es nicht funktioniert: Einfach mal das MailApp durch GmailApp austauschen
Sehr gut und danke !!!
Genie!! danke dir