2017-08-04 1 views
0

In Excel 2016 VBA, automatisieren ich Outlook, um Text im Körper von E-Mails zu ersetzen. Der Teil, der den Ersatz tut sieht wie folgt aus:So ersetzen Sie Text im Outlook-E-Mail-Körper, ohne Bilder zu löschen

Dim oEmail As Object, strEmailSubject As String, strEmailBody As String 
Set oEmail = GetActiveOutlookEmail 
strEmailBody = TranslateOneEmailElement(oEmail.Body) 
If strEmailBody <> oEmail.Body Then oEmail.Body = strEmailBody 

(. Ich habe die GetActiveOutlookEmail und TranslateOneEmailElement Funktionen weggelassen, wie ich glaube nicht, dass sie auf die Frage relevant sind und nur eine Menge Unordnung hinzufügen)

Das funktioniert gut für den Text. Wenn der E-Mail-Text jedoch Bilder enthält, werden diese in der Zeile gelöscht.

Wie kann ich Text Zeile für Zeile ersetzen, so dass Bilder an Ort und Stelle bleiben?

+0

Können Sie mehr Code oder vollständigen Code veröffentlichen? – 0m3r

+0

@ 0m3r, habe ich mehr Code hinzugefügt. –

+0

Sie könnten Ersetzen für die spezifischen Textzeichenfolgen verwenden. Wenn nicht möglich, können Sie die Bilder speichern und anschließend hinzufügen. – niton

Antwort

1

Sie lesen und setzen den Klartext Body Eigenschaft löscht alle Formatierungen, nicht nur Bilder. Sie müssen stattdessen mit der Eigenschaft HTMLBody arbeiten.

Verwandte Themen