If you want to send chart automatically in the body of outlook . Try this macro-
Sub sample_macro()
Dim olMail As MailItem
Dim objOL As Object
Dim chrtpth As String
Dim bdy As String
Dim startmsg As String
Dim endmsg As String
' create a unique Name
chrtpth = ThisWorkbook.Path & "\" & Environ("USERNAME") & VBA.Format(VBA.Now(), "DD_MM_YY_HH_MM_SS") & ".bmp"
'Change chart name which you want to export
Sheets("Sheet1").ChartObjects("Chart 3").Chart.Export chrtpth
' add the mail content and chart to the outlook mail body
bdy = "<p align='Left'><img src=""cid:" & Mid(chrtpth, InStrRev(chrtpth, "\") + 1) & """ width=700 height=500 > <br> <br>"
startmsg = "<font size='5' color='black'> Hi Ashish," & "<br> <br>" & "Please find the chart below: " & "<br> <br> </font>"
endmsg = "<font size='4' color='black'> Many Thanks," & "<br>" & "Ashish Koul" & "<br> <br> </font>"
' send the email
Set objOL = CreateObject("Outlook.Application")
Set olMail = objOL.CreateItem(olMailItem)
With olMail
.To = "koul.ashish@gmail.com"
.Subject = "Add Chart in outlook mail body"
.Attachments.Add chrtpth
.HTMLBody = startmsg & bdy & endmsg
.Display
End With
' delete the exported chart
Kill chrtpth
Set olMail = Nothing
Set olApp = Nothing
End Sub
Download Working File
Sub sample_macro()
Dim olMail As MailItem
Dim objOL As Object
Dim chrtpth As String
Dim bdy As String
Dim startmsg As String
Dim endmsg As String
' create a unique Name
chrtpth = ThisWorkbook.Path & "\" & Environ("USERNAME") & VBA.Format(VBA.Now(), "DD_MM_YY_HH_MM_SS") & ".bmp"
'Change chart name which you want to export
Sheets("Sheet1").ChartObjects("Chart 3").Chart.Export chrtpth
' add the mail content and chart to the outlook mail body
bdy = "<p align='Left'><img src=""cid:" & Mid(chrtpth, InStrRev(chrtpth, "\") + 1) & """ width=700 height=500 > <br> <br>"
startmsg = "<font size='5' color='black'> Hi Ashish," & "<br> <br>" & "Please find the chart below: " & "<br> <br> </font>"
endmsg = "<font size='4' color='black'> Many Thanks," & "<br>" & "Ashish Koul" & "<br> <br> </font>"
' send the email
Set objOL = CreateObject("Outlook.Application")
Set olMail = objOL.CreateItem(olMailItem)
With olMail
.To = "koul.ashish@gmail.com"
.Subject = "Add Chart in outlook mail body"
.Attachments.Add chrtpth
.HTMLBody = startmsg & bdy & endmsg
.Display
End With
' delete the exported chart
Kill chrtpth
Set olMail = Nothing
Set olApp = Nothing
End Sub
Download Working File
Hi Ashish,
ReplyDeleteThis is cool. Can you also publish a simlillar code to send a ranges as image using outlook.
Thanks
Rajesh
Obrigado mestre...
ReplyDeletedongtam
Deletegame mu
http://nhatroso.net/
http://nhatroso.com/
nhac san cuc manh
tư vấn luật
dịch vụ thành lập công ty trọn gói
văn phòng luật
tổng đài tư vấn pháp luật
thành lập công ty
http://we-cooking.com/
chém gió
trung tâm ngoại ngữ
Lang Lễ nói.
Lang Lễ ôm lấy Nhạc Thành, nhất thời mọi người biến mất ngay tại chỗ không thấy đâu nữa.
Một lát sau, giữa không trung lục tục có hơn mười đạo thân ảnh, nơi này động tĩnh thật lớn đã sớm làm kinh động người của Tiên Ma rồi.
Mọi người tại chung quanh tìm tòi một lát chỉ thấy được một đống hỗn độn, chắc là do có cường giả đại chiến, một ít người có tu vi thấp cũng không dám chọc tới phiền toái, sau đó vội vàng rời đi.
Mà lúc này Nhạc Thành cũng ở một chỗ sơn động hai ngày mới tỉnh lại, cảm giác pháp lực trong cơ thể không khỏi cười khổ, hắn cũng không nghĩ tới thần thông kia uy lực thật là lớn, nhưng tiêu hao cũng quá dọa người, nếu đối chiến, cho dù chính mình đánh chết đối thủ, chỉ sợ cũng không tốt.
- Lão ba, người đã tỉnh lại.
Thanh Đồng nhìn thấy Nhạc Thành đã tỉnh, cao hứng không thôi.
Hi,
ReplyDeleteCan you please provide the codes to paste two charts on mail body
good.
ReplyDeleteThanks for this helpful blog about Outlook mail and I’m lucky to find out this blog because I always need this kind of blog. For any technical support call 0800-090-3220 or visit the website Outlook Contact Number UK
ReplyDelete