2017-03-24 7 views
0

J'ai un programme qui peut réussir à envoyer des e-mails via Outlook en utilisant ".HTMLBody = ..." pour personnaliser le corps. Cependant, j'ai essayé d'ajouter ces lignes afin d'ajouter une image que j'ai nommé « logo » dans la feuille au corps de mail:VBA: intégrer une image dans le corps d'un e-mail

With Sheets("Mail - GREF COMMITTEE AGENDA") 
    .Shapes("logo").Export "C:\Users\Public\Pictures\logo.png" 
End With 

... 

.HTMLBody = bodyEn & bodyFR & "< img src='C:\Users\Public\Pictures\logo.png'>" 

L'erreur est: 438 L'objet ne supporte pas cette méthode ou une propriété. Je pense qu'il y a une erreur de syntaxe. Mais je ne peux pas le voir.

Merci à l'avance.

Mise à jour: Toute manière d'incorporer l'image dans le courrier est utile. Je peux exporter l'image manuellement.

+0

Je ne pense pas qu'il y ait la méthode d'exportation comme il est avec le tableau. –

+0

Alors, y a-t-il un autre moyen de le faire? Si je sauvegarde l'image manuellement sur mon ordinateur, comment pourrais-je l'utiliser dans mon courrier? – Francis

Répondre

0

InlineShapes.AddPicture Utiliser Word Méthode

La procédure est décrite dans Working with Item Bodies.

Insertion d'images:

strFile = "C:\Pictures\logo.gif" 
Set objInsp = objMsg.GetInspector 
Set objDoc = objInsp.WordEditor 
Set objSel = objDoc.Windows(1).Selection 
If objMsg.BodyFormat <> olFormatPlain Then 
    objSel.InlineShapes.AddPicture strFile, False, True 
End If 
+0

Salut Niton. J'ai lu le lien que tu m'as donné. Donc, si je veux intégrer des images dans le courrier, je dois utiliser Inspector.WordEditor au lieu de HTMLBody? – Francis

+0

À moins qu'il y ait une solution suggérée de votre tentative c'est le remplacement. – niton