Как отправить конкретную диаграмму по электронной почте с помощью 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 = "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 for Excel в диалоговом окне введите имя диаграммы, которую вы прикрепите к тексту сообщения электронной почты, а затем щелкните значок OK кнопка. Смотрите скриншот:
Затем автоматически создается электронное письмо с указанной диаграммой, отображаемой в теле письма, как показано на скриншоте ниже. Пожалуйста, нажмите кнопку «Отправить», чтобы отправить это письмо.
Статьи по теме:
- Как автоматически отправлять электронную почту на основе значения ячейки в Excel?
- Как вставить подпись в электронную почту Outlook при отправке по vba в Excel?
- Как отправить электронное письмо в определенное время суток в Excel?
- Как отправить электронное письмо с телом электронной почты HTML в Excel?
- Как отправить электронное письмо с указанным полужирным / размером / цветом / подчеркнутым текстовым форматом в Excel?
- Как отправить электронную почту без Outlook в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!













