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

abgelegte Email öffnen und als html umwandeln

Forumthread: abgelegte Email öffnen und als html umwandeln

abgelegte Email öffnen und als html umwandeln
12.02.2025 16:44:34
Seb_79
Hallo,

ich versuche mit dem beigefügten Code eine bestehende, abgelegte Email (eine msg) zu öffnen und den Inhalt in html anzuzeigen. Die Anzeige im html funktioniert jedoch nicht, obwohl der Emailinhalt als html formatiert wurde (sprich es enthält z.B. Tabellen oder eingebettete Bilder).
Händisch kann ich die geöffnete Email über eine eine Art link unterhalb des Betreffs "Diese Nachricht wurde in das Nur-Text-Format" > "als html anzeigen" konvertieren. Leider gelingt es nicht über VBA bzw. ich weiß noch nicht wie. Im nächsten Schritt möchte ich die Email in der html-Darstellung drucken. So mein Ziel.



Sub bestehendeMailOeffnen()

Dim olApp As Outlook.Application
Dim objMail As MailItem
Dim DateiOL As String

'DateiOL = "C:\irgendein_Pfad\Test.msg"

Set olApp = Outlook.Application

Set objMail = olApp.Session.OpenSharedItem(DateiOL)

With objMail
.BodyFormat = 1 'olFormatHTML oder 2 funktionieren nicht
.Display
End With

End Sub


Grüße Seb
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: abgelegte Email öffnen und als html umwandeln
12.02.2025 18:05:16
Alwin Weisangler
Hallo Seb,

das sollte ausreichend sein:


Option Explicit

Sub BodyAusGeloeschtenEmailsLesen()
Dim appOut As Outlook.Application
Dim objMail As Outlook.MailItem
Dim objNS As Outlook.Namespace
Dim Pfad As Outlook.Folder
Dim i&

Set appOut = New Outlook.Application
Set objMail = appOut.CreateItem(olMailItem)
Set objNS = appOut.GetNamespace("MAPI")

Set Pfad = objNS.Folders.Item("Dein Postfachname").Folders("Postausgang")

For Each objMail In Pfad.Items
i = i + 1
objMail.SaveAs ("C:\Users\Uwe\Downloads\Test" & i & ".msg")
Next objMail
End Sub


Gruß Uwe
Anzeige
AW: abgelegte Email öffnen und als html umwandeln
12.02.2025 18:28:47
Alwin Weisangler
noch zur Ergänzung:

Das Outlook Objekt wird Early Binding angesprochen. Dazu muss die MS Outlook 16.0 Bibliothek aktiviert sein.

Gruß Uwe
AW: abgelegte Email öffnen und als html umwandeln
12.02.2025 18:09:17
Oberschlumpf
Hi,

wenn ich...

.BodyFormat = 2

...verwende, wird die von mir als msg-Datei gespeicherte Mail mit allen gesetzten Formatierungen, Tabellen usw als "normale" Outlook-Mail angezeigt = also alles ok!
Ich nutze auch Outlook 2016.
(wenn ich .BodyFormat = 1 einsetze, wird auch bei mir die Mail nur im Text-Format angezeigt)

Und..hmm...mit VBA = gut wäre es schon schön gewesen, wenn du auf den notwendigen Verweis in Extras/Verweise hingewiesen hättest.
Und noch was :-)

alle Zeilen, die...

olApp

enthalten, brauchst du nicht.
Schreib einfach nur:

Set objMail = Outlook.Application.Session.OpenSharedItem(DateiOL)

So, konnte ich helfen?

Ciao
Thorsten
Anzeige
AW: abgelegte Email öffnen und als html umwandeln
16.02.2025 16:16:57
Seb_79
Hallo,

danke für eure Hilfe un Denkanstöße.
Vorab: der Verweis "Microsoft Ottlook 16.0 Object Library" ist aktiviert.

Mir geht es hier um abgelegte emails, die sich nicht mehr im Outlook befinden. Bei meinem Firmenrechner gibt es eine Zwangseinstellung, dass Email nur noch im Text versendet werden können. Ursprünglich erstellte Emails im HTML-Format werden standardmäßig ins Text-Format umgewandelt, es gibt jedoch die Möglichkeit die HTML-Darstellung wiederherzustellen.
Ich habe mich wie folgt beholfen: ich öffne die Email über display bevor ich die Email in eine PDF konvertiere. Dann stelle ich manuell die email auf Anzeige html um und danach wird die pdf erstellt. Das ist nicht vollständig automatisiert, aber ein Weg der ok ist.

Beste Grüße
Seb
Anzeige
AW: abgelegte Email öffnen und als html umwandeln
16.02.2025 19:20:56
Oberschlumpf
Hi,

leider hast du mich nicht verstanden.

"Vorab: der Verweis "Microsoft Ottlook 16.0 Object Library" ist aktiviert."
Dieser Verweis ist - nicht - automatisch bei jedem Excel-Nutzer gesetzt!
Und bei Verwendung - deines - Codes mit...As Outlook.Application kommt es dann zu einer Fehlermeldung!

Deswegen war meine Bitte, dass du bei Verwendung von nicht-standard-Verweisen eben genau darauf hinweisen und auch die Verweise nennen solltest, die du manuell gesetzt hast; bzw bei VBA = gut müsstest du Verweise erkennen, die nicht zum Standard gehören...und eben nennen sollen.
(also by the way: zumindest ich versteh unter VBA = gut, dass man auch so etwas weiß dann)

Ciao
Thorsten
Anzeige

Forumthreads zu verwandten Themen

Anzeige