Zu meinem Artikel „E-Mail mit Anhang versenden über VBA“ gab es gestern einen Kommentar.
In diesem wurde ein Problem aufgebracht, welches sich nicht ganz so einfach lösen lies. Es sollte eine Funktion genutzt werden, die seit Office 2013 nicht mehr zur Verfügung steht. Der Befehlsaufruf hätte die vordefinierte Signatur an das Ende der E-Mail gesetzt werden sollen. Dieses habe ich wie folgt gelöst:
Sub MailversandSignatur() Dim sPath As String Dim strUser As String Dim strPfad As String Dim strSignatur As String Dim Body As String Dim Nachricht As Object, OutlookApplication As Object Set OutlookApplication = CreateObject("Outlook.Application") Dim Anhang As String Anhang = ThisWorkbook.FullName Set Nachricht = OutlookApplication.CreateItem(0) With Nachricht .To = "testuser@testdomain.de" .Subject = "Test" .Attachments.Add Anhang 'Namen der Signatur definieren strSignatur = "TestSignatur" strUser = Environ("Userprofile") strPfad = strUser & "\AppData\Roaming\Microsoft\Signatures\" & strSignatur & ".htm" .htmlBody = "<html><body><p>Sehr geehrte Damen und Herren,</p><p>im Anhang erhalten Sie die Liste.</p><p></p>" & test(strPfad) & "</body></html>" .Display '.Mail.Send End With Set OutlookApplication = Nothing Set Nachricht = Nothing End Sub Function test(sPath As String) test = CreateObject("Scripting.FileSystemObject").OpenTextFile(sPath).ReadAll() End Function
Ich lese die Signatur aus dem Standard-Ablagepfad in Form der gespeicherten HTML-Datei aus. Diese wird an das Ende des „HTMLBody“ der E-Mail angehangen.
Mit der Formatierung benötige ich die „SendKeys“-Methode nicht. Dieses wird in einigen Sicherheitsrelevanten Programmen wie Antiviren-Lösungen als problematisch deklariert.
Hallo Herr Lensing!
Ist schon ne Weile her der Blogeintrag – die Lösung funktioniert auch hervorragend, nur leider werden die Bilder in den Signaturen nicht angezeigt. Gibt es dafür eine Lösung???
LG, Lars
Moin, Moin,
mich würde auch interessieren, wie ich die Bilder erhalten kann. Hat jemand einen Hinweis, wo ich dazu brauchbare Informationen finde?
LG Daniel
Hallo Herr Lensing!
haben Sie auch einen VBA code wo ich den Anhang frei anwählen kann aus einem Ordner?
Ziel ist per Click die Mail zu öffnen und den Anhang variabel der Mail hinzuzufügen?
mit freundlichen Grüßen
Björn Noack
Hallo Herr Noak,
ich habe das Gefühl, dass sie eine ganz andere Anforderung haben.
Ich versende im Endeffekt das gespeicherte Excel-Dokument.
Nach meinem Verständnis möchten Sie per Click eine Auswahl für ein Dokument haben und dieses dann direkt versenden.
Wenn ich da richtig liege, verraten Sie mir doch bitte ihr Betriebssystem.
Für sowas gibt es eine viel bessere Lösng.
Viele Grüße
Daniel