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

Forumthread: Zwischenablage in Email einfügen

Zwischenablage in Email einfügen
08.12.2008 16:20:50
Franz
Hallo zusammen,
mit dem nachfolgenden Code möchte von meinem Excelsheet eine Email mit Outlook senden
und über die Zwischenablage das erzeugte PDF-Dokument einfügen. Mein Problem ist das ich
das PDF im Outlook nicht einfügen kann. Hat jemand eine Idee, wie ich das Problem lösen
kann? Danke.
Gruß Franz

Sub Excel_PDF_via_Outlook_Senden()
Dim OutApp As Object, Mail As Object, i
Dim Nachricht
'Dataobject wird gebraucht wegen der Zwischenablage
Dim ClpObj As DataObject
Set ClpObj = New DataObject
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.Subject = "Betreffzeile Header"
'Zwischenablage wird eingefügt
ClpObj.GetFromClipboard
;Hier soll PDF-Datei welche sich in der Zwischenablage befindet
;eingefügt werden'
.body = ClpObj
.To = "test@test.de"
'Hier wird die Mail angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
'        .Send
End With
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub


Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwischenablage in Email einfügen
08.12.2008 16:40:00
mumpel
Hallo!
Willst Du das PDF direkt in den Mailbody, dann musst Du .htmlbodycolor> verwenden, nicht .bodycolor>. Body ist eine reine Textmail ohne HTML-Unterstützung. Besser wäre es, die PDF als Anhang mitzugeben (.attachmentcolor>).
Gruß, René
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Zwischenablage in Email einfügen


Schritt-für-Schritt-Anleitung

Um eine PDF-Datei aus Excel über Outlook zu versenden und diese in die Zwischenablage einzufügen, befolge diese Schritte:

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

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub Excel_PDF_via_Outlook_Senden()
       Dim OutApp As Object, Mail As Object
       Dim ClpObj As DataObject
       Set ClpObj = New DataObject
       Set OutApp = CreateObject("Outlook.Application")
       Set Mail = OutApp.CreateItem(0)
    
       ' PDF in die Zwischenablage kopieren
       ClpObj.GetFromClipboard
    
       With Mail
           .Subject = "Betreffzeile Header"
           ' PDF-Datei in den Mailbody einfügen
           .HTMLBody = ClpObj.GetText ' HTMLBody für formatierte Mails
           .To = "test@test.de"
           .Display ' Anzeige der Mail
           ' .Send ' Zum sofortigen Versenden
       End With
    
       Set OutApp = Nothing
       Set Mail = Nothing
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, um die Email zu erstellen.


Häufige Fehler und Lösungen

  • Fehler: PDF wird nicht eingefügt
    Lösung: Stelle sicher, dass du .HTMLBody anstelle von .Body verwendest, um HTML-Inhalte in der Email zu ermöglichen.

  • Fehler: Outlook kann nicht gestartet werden
    Lösung: Prüfe, ob Outlook korrekt installiert und konfiguriert ist. Überprüfe auch die Sicherheitseinstellungen in Outlook.

  • Fehler: Zwischenablage ist leer
    Lösung: Stelle sicher, dass du die PDF-Datei in die Zwischenablage kopiert hast, bevor du das Makro ausführst.


Alternative Methoden

  • PDF als Anhang hinzufügen: Wenn du die PDF nicht im Body, sondern als Anhang in Outlook einfügen möchtest, kannst du folgende Zeile hinzufügen:

    .Attachments.Add "C:\Pfad\zur\deiner\PDF-Datei.pdf"
  • Direktes Einfügen des Dateipfades: Um den Dateipfad in die Email einzufügen, kannst du den folgenden Code verwenden:

    .Body = "Hier ist der Dateipfad: C:\Pfad\zur\deiner\PDF-Datei.pdf"

Praktische Beispiele

  • Beispiel 1: PDF direkt in den Mailbody einfügen: Verwende den Code, um die PDF als HTML-Inhalt in die Email einzufügen.

  • Beispiel 2: PDF als Anhang in Outlook einfügen: Modifiziere den obigen Code, um die PDF-Datei als Anhang hinzuzufügen:

    .Attachments.Add "C:\Pfad\zur\deiner\PDF-Datei.pdf"

Tipps für Profis

  • Verwende .Display für Tests: Bevor du die Email direkt sendest, nutze .Display, um die Email anzuzeigen und sicherzustellen, dass alles korrekt formatiert ist.

  • Fehlerbehandlung implementieren: Ergänze deinen VBA-Code mit Fehlerbehandlungsroutinen, um unerwartete Fehler abzufangen und zu protokollieren.

  • Automatisiere den Prozess: Du kannst dieses Skript in ein größeres Automatisierungsszenario integrieren, um beispielsweise regelmäßig Berichte zu versenden.


FAQ: Häufige Fragen

1. Wie kann ich einen Outlook Anhang in den Text einfügen?
Du kannst .HTMLBody verwenden, um den Inhalt der PDF-Datei direkt in den Mailbody einzufügen, anstatt sie als Anhang zu verwenden.

2. Welches Format muss der PDF-Dateipfad haben, um ihn in die Mail einzufügen?
Der Dateipfad sollte den vollständigen Pfad zur PDF-Datei enthalten, z. B. C:\Users\DeinBenutzername\Documents\deine-datei.pdf.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige