Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: pdf Datei als e-mail Anhang via Excel VBA senden

pdf Datei als e-mail Anhang via Excel VBA senden
22.12.2005 14:53:33
Sebastian
Hallo,
ich möchte mittels VBA aus Excel heraus eine pdf Datei versenden. Der
e-Mail client ist outlook.
Kann mir einer einen Tip geben, wie dies funktionieren kann?
Habe ein Button, der das Makro anstossen soll.
Besten Dank
Sebastian
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: pdf Datei als e-mail Anhang via Excel VBA senden
22.12.2005 15:52:53
MichaV
Hallo,
http://www.online-excel.de/excel/singsel_vba.php?f=86
Du musst eine Zeile anpassen, das sollte kein Problem sein.
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

PDF-Datei als E-Mail-Anhang via Excel VBA senden


Schritt-für-Schritt-Anleitung

Um eine PDF-Datei direkt aus Excel heraus per E-Mail zu versenden, kannst Du folgendes VBA-Makro verwenden. Stelle sicher, dass Du Microsoft Outlook installiert hast, da es als E-Mail-Client fungiert.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklick auf einen Eintrag im Projektfenster > Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub SendPDFByEmail()
       Dim OutApp As Object
       Dim OutMail As Object
       Dim pdfPath As String
    
       ' PDF-Datei speichern
       pdfPath = ThisWorkbook.Path & "\DeineDatei.pdf"
       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath
    
       ' Outlook-Objekt erstellen
       Set OutApp = CreateObject("Outlook.Application")
       Set OutMail = OutApp.CreateItem(0)
    
       ' E-Mail konfigurieren
       With OutMail
           .To = "empfaenger@example.com"
           .Subject = "Hier ist die PDF-Datei"
           .Body = "Bitte finde die angehängte PDF-Datei."
           .Attachments.Add pdfPath
           .Display ' oder .Send, um die E-Mail direkt zu senden
       End With
    
       ' Objekte freigeben
       Set OutMail = Nothing
       Set OutApp = Nothing
    End Sub
  4. Ändere die E-Mail-Adresse und den Dateinamen nach Bedarf.

  5. Füge einen Button in Dein Excel-Blatt ein und verlinke ihn mit dem Makro SendPDFByEmail.


Häufige Fehler und Lösungen

  • Fehler: "Outlook konnte nicht gestartet werden."

    • Stelle sicher, dass Microsoft Outlook korrekt installiert und konfiguriert ist.
  • Fehler: "Die Datei kann nicht gespeichert werden."

    • Überprüfe den Pfad, in dem Du die PDF-Datei speichern möchtest. Stelle sicher, dass Du die Berechtigung hast, dort zu speichern.
  • E-Mail wird nicht gesendet.

    • Überprüfe Deine Internetverbindung und die Outlook-Einstellungen. Möglicherweise gibt es Sicherheitsbeschränkungen.

Alternative Methoden

  1. Direktes Senden über Excel:

    • Du kannst auch ein Makro verwenden, das die gesamte Arbeitsmappe als PDF speichert und diese dann versendet.
  2. Verwendung von Power Automate:

    • Mit Microsoft Power Automate kannst Du automatisierte Workflows erstellen, um PDF-Dateien zu versenden, ohne VBA zu verwenden.

Praktische Beispiele

  • Beispiel 1: Senden eines bestimmten Arbeitsblatts als PDF

    Ändere den Exportbefehl im obigen Makro, um nur ein bestimmtes Blatt zu exportieren:

    ActiveSheet("DeinBlattname").ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath
  • Beispiel 2: Hinzufügen einer CC-Adresse

    Füge eine CC-Adresse einfach in der E-Mail-Konfiguration hinzu:

    .CC = "cc@example.com"

Tipps für Profis

  • PDF-Qualität anpassen:

    • Du kannst die Qualität der PDF-Datei anpassen, indem Du verschiedene Parameter in der ExportAsFixedFormat-Methode verwendest.
  • Fehlermeldungen abfangen:

    • Implementiere Error-Handling in Dein Makro, um unerwartete Fehler besser zu managen.

FAQ: Häufige Fragen

1. Wie sende ich eine PDF-Datei per Mail? Du kannst das oben genannte VBA-Makro verwenden, um eine PDF-Datei direkt aus Excel zu versenden.

2. Funktioniert das auch in Excel 365? Ja, dieses VBA-Makro ist mit Excel 365 sowie anderen Versionen von Excel kompatibel. Stelle sicher, dass Deine Outlook-Anwendung korrekt konfiguriert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige