How to send an embedded image in email from excel

excel, outlook

Solution

Seems like the best way is to export the chart:

Sheets(1).ChartObjects("Chart 1").Chart.Export "C:\Chart1.png"

And then add the image into your mail HTML body:

.HTMLBody = .HTMLBody & "< img src='c:\folder\filename.png'>"

Confirmed by both technet and mrexcel

Problem

I would like to send a Excel chart in the body of an email (Outlook) (not as attachment) from VB, anyone know how to do this? Solved: Just to add a bit more detail to answer below you'll need the following (could do with some improvement). ``` Sheets(2).ChartObjects(1).Chart.Export "C:\temp\Chart2.png" ``` .... ``` .HTMLBody = "<html xmlns:o='urn:schemas-microsoft-com:office:office'" & _ "xmlns: x = 'urn:schemas-microsoft-com:office:excel'" & _ "xmlns='http://www.w3.org/TR/REC-html40'> " & _ "<head></head><body><img src='Chart2.png'></body></html>" ``` and ``` .Attachments.Add ("C:\temp\Chart2.png") ```

Original source