2017-08-04 4 views
0

Dans Excel 2016 VBA, j'automatise Outlook pour remplacer le texte dans le corps des e-mails. La partie qui fait le remplacement ressemble à ceci:Comment remplacer du texte dans le corps de l'e-mail Outlook sans supprimer d'images

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 

(. Je l'ai quitté les fonctions GetActiveOutlookEmail et TranslateOneEmailElement que je ne pense pas qu'ils sont pertinents à la question et voudrais ajouter beaucoup de désordre)

Cela fonctionne bien pour le texte. Cependant, si le corps du message contient des images, cette ligne les supprime. Comment puis-je remplacer le texte ligne par ligne pour qu'il laisse les images en place?

+0

Pouvez-vous poster plus de code ou code complet? – 0m3r

+0

@ 0m3r, j'ai ajouté plus de code. –

+0

Vous pouvez utiliser Remplacer pour les chaînes de texte spécifiques. Si ce n'est pas possible, vous pouvez enregistrer les images et les ajouter par la suite. – niton

Répondre

1

Vous lisez et définissez la propriété de texte brut Body pour effacer toute la mise en forme, pas seulement les images. Vous devez utiliser la propriété HTMLBody à la place.