Как отправить определённую диаграмму по электронной почте с помощью VBA в Excel?
Возможно, вы уже умеете отправлять электронные письма через Outlook из Excel с помощью кода VBA. Но знаете ли вы, как вставить конкретную диаграмму с определённого листа прямо в тело письма? В этой статье мы покажем вам, как это сделать.
Отправка конкретной диаграммы по электронной почте в Excel с помощью кода VBA
Отправка конкретной диаграммы по электронной почте в Excel с помощью кода VBA
Чтобы отправить нужную диаграмму по электронной почте с помощью кода VBA в Excel, выполните следующие действия.
1. На листе, содержащем диаграмму, которую вы хотите вставить в тело письма, нажмите клавиши Alt+F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. В окне Microsoft Visual Basic for Applications нажмите Вставка > Модуль, а затем скопируйте приведённый ниже код 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="/%20&%20"cid:" & Mid(xChartPath, InStrRev(xChartPath, "\") + 1) & """ width=700 height=500 > <br> <br>"
xChart.Chart.Export xChartPath
With xOutMail
.To = "xrr@163.com"
.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 = «xrr@163.com» и в строке .Subject = «Добавление диаграммы в тело письма Outlook». Sheet1 — это лист, содержащий диаграмму, которую вы хотите отправить; замените его на свой.
3. Нажмите клавишу F5, чтобы запустить код. Во вновь открывшемся диалоговом окне Kutools для Excel введите имя диаграммы, которую хотите вставить в тело письма, и нажмите кнопку ОК. См. снимок экрана:

Затем автоматически создаётся электронное письмо с указанной диаграммой в теле сообщения, как показано на снимке экрана ниже. Нажмите кнопку «Отправить», чтобы отправить это письмо.


Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
См. также:
- Как настроить автоматическую отправку электронного письма в зависимости от значения ячейки в Excel?
- Как вставить подпись в электронное письмо Outlook при отправке через VBA в Excel?
- Как отправить электронное письмо в заданное время суток из Excel?
- Как отправить электронное письмо с HTML-оформлением тела сообщения из Excel?
- Как отправить электронное письмо с заданным форматом текста в Excel — полужирным начертанием, размером, цветом и подчёркиванием?
- Как отправить электронное письмо из Excel без использования Outlook?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек