| Blog Office VBA | Blog Excel | Blog Access | Blog Infochart |
Sim, com tantos relatórios automatizados que entregamos para os nossos Clientes, grande parte deles não vão mais anexados, antes são parte integrante do e-mail.
Para que possamos inserir tabelas, comentários e os gráficos propriamente ditos, precisamos ter a liberalidade de saber fazê-lo, segue o modo:
Sub ExportChart2OutlookBody()Dim olMail As MailItemDim objOL As ObjectDim chrtpth As StringDim bdy As StringDim startmsg As StringDim endmsg As String' Crie um único Nome.Let chrtpth = ThisWorkbook.Path & "\" & Environ("USERNAME") & VBA.Format(VBA.Now(), "DD_MM_YY_HH_MM_SS") & ".bmp"' Mude o nome do gráfico e da Planilha que deseja exportar.Sheets("Sheet1").ChartObjects("Chart 3").Chart.Export chrtpth' Adicione o conteúdo do e-mail, bem como o gráfico que deseja inserir no corpo deste.Let bdy = "<p align='Left'><img src=""cid:" & Mid(chrtpth, InStrRev(chrtpth, "\") + 1) & """ width=700 height=500 > <br> <br>"Let 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>"' Envie o e-mail.Set objOL = CreateObject("Outlook.Application")Set olMail = objOL.CreateItem(olMailItem)With olMailLet .To = "bernardess@gmail.com"Let .Subject = "Adicionando um gráfico ao corpo do e-mail"Let .Attachments.Add chrtpthLet .HTMLBody = startmsg & bdy & endmsg.DisplayEnd With' Apaga o gráfico exportado.Kill chrtpthSet olMail = NothingSet olApp = NothingEnd Sub