Forum des VBA-Tutorials

Bild hinter Email-Text (VBA)

masterofswim, Mittwoch, 31. Mai 2017, 18:44 (vor 141 Tagen)

Hallo miteinander, ich muss für die Uni ein Excel Dokument so programmieren, das bei einem Druck auf den Button eine Email an verschiedene weitere Adressen gesendet wird. Soweit alles gut und da habe ich kein Problem. Aber ich will nun nicht wie ich selbst programmiert habe das Bild im Anhang, sondern es soll unter dem Text angezeigt werden. Ich würde mich freuen, wenn ihr mir helft, da ich selbst noch Laie bin, was VBA angeht.

Der aktuelle Quelltext sieht so aus:


Sub Schaltfläche2_Klicken()
Dim objOutlook As Object
Dim objNameSpace As Object
Dim objMailItem As Object


Set objOutlook = CreateObject("Outlook.Application")
Set objNameSpace = objOutlook.GetNameSpace("MAPI")

Call objNameSpace.Logon


Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)

.Recipients.Add "hallo@test.de"

.Subject = "Erinnerung Dateneintragung"

.Body = „Text Text Text“

.ReadReceiptRequested = False

.Attachments.Add "D:\Test.jpg"

.Send
End With

Bild hinter Email-Text

PhilS ⌂, Donnerstag, 08. Juni 2017, 09:20 (vor 134 Tagen) @ masterofswim

Aber ich will nun nicht wie ich selbst programmiert habe das Bild im Anhang, sondern es soll unter dem Text angezeigt werden.

Dafür sind zwei Dinge erforderlich.
1.)
Du musst eine ContentId (CID) für dein Attachment an der Email festlegen. Das funktioniert durch setzen der MAPI-Property PR_ATTACH_CONTENT_ID über den PropertyAccessor des Attachment-Objektes.

2.)
Du musst eine Email mit HTML-Text erstellen. In dem HTML kannst du dann das Attachment über die CID im src-Attribute des IMG-Tags referenzieren und so in dem HTML der Email positionieren.

Dies habe ich ausführlich in einem Text zu HTML-Emails mit VBA und Outlook-Automation beschrieben.

RSS-Feed dieser Diskussion
powered by my little forum