Как да изпратите конкретна диаграма в имейл с vba в Excel?
Може да знаете как да изпратите имейл през Outlook в Excel с VBA код. Но знаете ли как да прикачите конкретна диаграма в определен работен лист към тялото на имейла? Тази статия ще ви покаже метода за решаване на този проблем.
Изпратете конкретна диаграма в имейл в Excel с VBA код
Изпратете конкретна диаграма в имейл в Excel с VBA код
Моля, направете следното, за да изпратите конкретна диаграма в имейл с VBA код в Excel.
1. В работния лист съдържа диаграмата, която искате да прикачите в тялото на имейла, натиснете Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, моля щракнете Поставете > Модули. След това копирайте под VBA кода в прозореца на кода.
VBA код: Изпратете конкретна диаграма в имейл в Excel
Sub mailHTMLsend()
'Updated by Extendoffice 2018/3/5
Dim xOutApp As Object
Dim xOutMail As Object
Dim xStartMsg As String
Dim xEndMsg As String
Dim xChartName As String
Dim xChartPath As String
Dim xPath As String
Dim xChart As ChartObject
On Error Resume Next
xChartName = Application.InputBox("Please enter the chart name:", "KuTools for Excel", , , , , , 2)
If xChartName = "" Then Exit Sub
Set xChart = Sheets("Sheet1").ChartObjects(xChartName) 'Change "Sheet1" to your worksheet name
If xChart Is Nothing Then Exit Sub
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xStartMsg = "<font size='5' color='black'> Good Day," & "<br> <br>" & "Please find the chart below: " & "<br> <br> </font>"
xEndMsg = "<font size='4' color='black'> Many Thanks," & "<br> <br> </font>"
xChartPath = Application.ActiveWorkbook.Path & "\" & Environ("USERNAME") & VBA.Format(VBA.Now(), "DD_MM_YY_HH_MM_SS") & ".bmp"
xPath = "<p align='Left'><img src=" & "cid:" & Mid(xChartPath, InStrRev(xChartPath, "\") + 1) & """ width=700 height=500 > <br> <br>"
xChart.Chart.Export xChartPath
With xOutMail
.To = ""
.Subject = "Add Chart in outlook mail body"
.Attachments.Add xChartPath
.HTMLBody = xStartMsg & xPath & xEndMsg
.Display
End With
Kill xChartPath
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
Забележка: В кода, моля, променете имейл адреса на получателя и темата на имейла .To = "" и линия .Subject = "Добавяне на диаграма в тялото на пощата на Outlook" , Sheet1 е листът, който съдържа диаграмата, която искате да изпратите, моля, променете го на свой собствен.
3. Натисни F5 ключ за изпълнение на кода. В откриването Kutools за Excel диалоговия прозорец, въведете името на диаграмата, която ще прикачите в тялото на имейла, и след това щракнете върху OK бутон. Вижте екранна снимка:
След това имейл се създава автоматично с указаната диаграма, показваща се в тялото на имейла, както е показано на екранната снимка по-долу. Моля, щракнете върху бутона Изпрати, за да изпратите този имейл.
Още по темата:
- Как автоматично да изпращате имейл въз основа на стойността на клетката в Excel?
- Как да вмъкна подпис в имейл на Outlook при изпращане от vba в Excel?
- Как да изпратите имейл в определено време на деня в Excel?
- Как да изпратите имейл с HTML тяло на имейл в Excel?
- Как да изпратите имейл с определен удебелен/размер/цвят/подчертан текстов формат в Excel?
- Как да изпратите имейл без Outlook в Excel?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!