Using VBA to edit mail body without losing embedded pictures?

  • Thread starter Thread starter stuartjbray
  • Start date Start date
S

stuartjbray

Hi,

I want to send emails with pictures embedded, and I also want to be
able to fill in placeholder text in my email before they send, eg "Dear
<<Name>>".

Some of the relevant code I used to do this was:

dim ml as MailItem
strName = "Stuart"
ml.Body = Replace(ml.Body, "<<name>>", strName, , , vbTextCompare)

Unfortunately, as soon as I perform text operations on my body, it
turns the entire mail body to text, and loses the embedded images that
used to be there.

Does anyone have a solution for this one?

I even tried a softly softly approach like this:
ml.Body = "Dear " & strName & ml.Body
But even concatenating text turned the body into a string.

Assistance appreciated.
 
You would have to work with HTMLBody if you are using HTML messages.
 
.... and do some manipulation of the attachments to send embedded pictures; see http://www.outlookcode.com/d/code/htmlimg.htm

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers


Ken Slovak - said:
You would have to work with HTMLBody if you are using HTML messages.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


Hi,

I want to send emails with pictures embedded, and I also want to be
able to fill in placeholder text in my email before they send, eg "Dear
<<Name>>".

Some of the relevant code I used to do this was:

dim ml as MailItem
strName = "Stuart"
ml.Body = Replace(ml.Body, "<<name>>", strName, , , vbTextCompare)

Unfortunately, as soon as I perform text operations on my body, it
turns the entire mail body to text, and loses the embedded images that
used to be there.

Does anyone have a solution for this one?

I even tried a softly softly approach like this:
ml.Body = "Dear " & strName & ml.Body
But even concatenating text turned the body into a string.

Assistance appreciated.
 
Back
Top