Visual Basic для приложений или VBA — это мощный, но простой язык программирования, который позволяет максимально автоматизировать Microsoft Excel. Одним из таких способов автоматизации является использование кодов VBA для интеграции других приложений Microsoft, таких как Outlook, PowerPoint и Word, и повышения производительности.
Отправка электронной почты с помощью VBA в Excel — одна из таких интеграций, которая упрощает вашу жизнь за счет автоматизации задач рассылки электронных таблиц или отчетов. Этот учебник проведет вас через шаги по отправке электронной почты с помощью VBA из Excel в простых шагах.

Активация библиотеки объектов Microsoft Outlook
Вам необходимо установить ссылку на объект отправки электронной почты Outlook, так как это внешний объект для Excel VBA . Следуйте этим шагам:
- Сохраните существующий файл Excel как файл с поддержкой макросов, нажав «Файл» > «Сохранить как» > выберите местоположение и изменив тип «Сохранить как» .
- Нажмите Alt + F11 , чтобы открыть редактор кода VBA, и нажмите «Инструменты» , расположенные в верхней строке меню.

- Оттуда выберите «Ссылки» , а затем прокрутите список «Доступные ссылки» , чтобы найти библиотеку объектов Microsoft Outlook 16.0 .
- Выберите объект и нажмите «ОК» , чтобы выйти из списка «Доступные ссылки» .
Отправка электронной почты с помощью VBA: напишите коды и выполните
Теперь, когда вы включили объект Outlook в Excel VBA, выполните следующие действия, чтобы написать макрос Excel и выполнить его:
- Убедитесь, что вы находитесь в интерфейсе редактора кода VBA. Теперь найдите вкладку «Вставка» в верхнем меню Excel VBA.
- Нажмите « Вставить» , а затем выберите «Модуль» , чтобы вставить модуль, в котором вы сможете писать коды VBA.
- Теперь скопируйте и вставьте следующий скрипт VBA во вновь созданный модуль.
Sub send_email_with_VBA() Dim EmailApp As Outlook.Application Dim Source As String Set EmailApp = New Outlook.Application Dim EmailItem As Outlook.MailItem Set EmailItem = EmailApp.CreateItem(olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "Статус доставки заказа клиента" EmailItem.HTMLBody = "Привет, команда" & vbNewLine & vbNewLine & "PFA электронная таблица для сегодняшнего заказа status" & _ vbNewLine & vbNewLine & _ "С уважением" & vbNewLine & _ "Tamal Das" Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub
Вышеупомянутый код отправит электронное письмо с использованием вашей учетной записи Outlook на адреса электронной почты, указанные в коде.
Содержимое электронной почты также доступно в строке кода EmailItem.HTMLBody . Кроме того, Excel VBA автоматически прикрепит вашу исходную книгу к электронному письму в качестве вложения.
Вы можете внести следующие изменения, чтобы персонализировать адреса и основной текст электронной почты:
- Замените все адреса электронной почты в цитате своими контактами Outlook .
- Настройте текст EmailItem.Subject внутри цитаты по своему усмотрению.
- В коде EmailItem.HTMLBody вы можете заменить все тексты в кавычках собственным содержимым.
- Теперь запустите скрипт VBA, нажав F5 .

Для успешной отправки электронной почты с помощью VBA вам необходимо настроить учетную запись Gmail или учетную запись Outlook в автономном приложении Outlook пакета Microsoft Office. Онлайн-браузер Outlook не будет работать с этим кодом VBA.
Заключение
Теперь, когда вы выполнили вышеупомянутые шаги по отправке электронной почты с помощью VBA, вам должно быть проще автоматизировать рутинные задачи в Excel. Например, разрешите файлу электронной таблицы автоматически отправлять вам электронное письмо, когда соавторы обновляют лист. Кроме того, отправляйте автоматические электронные письма клиентам при обновлении столбца статуса заказа в Excel.
Если вы хотите больше автоматизации Excel с помощью VBA, используйте кодирование временных меток VBA , чтобы вести журнал изменений в электронной таблице.