Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA eMail - Bild in der Signatur wird nicht angezeigt
#1
Hallo zusammen,

iich habe schon einiges zu meinem Problem gelesen, da meine VBA Kenntnisse allerdings sehr rudimentär sind hoffe ich auf eure Unterstützung. Ich habe ein Makro das eine Email mit Signatur erstellt, allerdings wird das Bild in der Signatur nicht angezeigt. Wie kann ich das beheben ? Folgenden Code nutze ich


  1. Sub PDFundSenden()
  2.     Dim DateiName As String
  3.        
  4.     DateiName = Range("K3") & Range("K2") & ".pdf"  '

  5.     Range("A1:G44").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  6.         DateiName, Quality:=xlQualityStandard, _
  7.         IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
  8.         True
  9. Dim Outlook As Object
  10. Dim OutlookMailItem As Object
  11. Dim myAttachments As Object
  12. Dim strOldBody As String

  13. Set OutlookApp = CreateObject("Outlook.application")
  14. Set OutlookMailItem = OutlookApp.CreateItem(0)
  15. Set myAttachments = OutlookMailItem.Attachments

  16. With OutlookMailItem
  17. .GetInspector.Display
  18. strOldBody = .Body
  19. .To = Range("K16")
  20. .Subject = Range("K17")
  21. .CC = Range("K20")
  22. myAttachments.Add DateiName
  23. .Body = Range("K36") & _
  24. strOldBody
  25. .Display

  26. End With

  27. Set OutlookApp = Nothing
  28. Set OutlookMailItem = Nothing

  29. End Sub


Ich wäre über eure Hilfe sehr dankbar

Viele Grüße
Holger
Antwortento top
#2
Hallöchen,

ich sehe da im Code keine Signatur und erst recht kein Bild Sad Hast Du denn ein Bild in Deiner Signatur?
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#3
Hallo Andre,

danke für deine Antwort. Das Problem ist, das ich die Signatur als Standard Signatur beim öffnen eines neuen Emails definiert habe. Das heißt der Code holt mir nur den Textbody, Emailadresse, Betreff etc.  aus der Arbeitsmappe und kopiert alles vor die Signatur. Allerdings dann eben ohne das Bild in der Signatur. Öffne ich manuell eine neue Email ist das Bild in der Signatur vorhanden. Wie gesagt....ich bin ein totaler Anfänger was das angeht....wenn ich den body als html.body in den Code einfüge stimmt zwar die Signatur mit Bild....allerdings schreibt er mir dann den Text aus dem Body fortlaufend in eine Zeile :

Sehr geehrte Damen und Herren, Anbei übersenden wir die Rechnung in Höhe von 230 EUR. Bitte den Betrag auf folgendes Konto bei der XXX oder per Paypal anweisen: Kontoinhaber: XXXXXXXXXXXXXXXX Bei Fragen oder Problemen im Zusammenhang mit der Leistung, können Sie uns jederzeit kontaktieren.

Confused

LG
Holger
Antwortento top
#4
Hallöchen,

Du könntest mal versuchen, mit Replace z.B. den Doppelpunkt durch Doppelpunkt und Zeilenumbruch zu ersetzen ...
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#5
Hallo Holger,

wenn Du htmlbody verwendest, musst Du auch HTML-Formatierung verwenden.
Zum Beispiel im bodytext die Zeilenumbrüche (vbLF bzw. Chr(10)) durch HTML Zeilenumbruch "<br>" ersetzen.

Beispiel:
Code:
With OutlookMailItem
  .GetInspector.Display
  .To = Range("K16")
  .Subject = Range("K17")
  .CC = Range("K20")
  myAttachments.Add DateiName
  .HTMLBody = Replace(Range("K36").Value, vbLf, "<br>") & _
              .HTMLBody
  .Display
End With

Dann wird auch nicht mehr alles in einer Zeile dargestellt.

viele Grüße
Karl-Heinz
Antwortento top
#6
Hallo Andrfe, hallo Karl Heinz,

Super !!! Vielen Dank für eure Unterstützung 18 .....der Hinweis mit der HTML Formatierung war erfolgreich !!!! Jetzt habe ich wieder was dazu gelernt ..... 19

LG
Holger
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste