01 Что делает макрос
Эту задачу можно выполнить с помощью автоматической отправки писем по электронной почте. В примере кода показано, как активная рабочая книга отправляется на адрес электронной почты в качестве вложения. С помощью команды Sendmail, вы можете отправлять простые сообщения электронной почты непосредственно из Excel. Тем не менее, команда SendMail не столь надежна, как автоматизация Outlook. SendMail не позволяет прикреплять файлы или использовать CC и BCC поля в электронной почте.
Поскольку этот код запускается из Excel, необходимо установить ссылку на библиотеку объектов Microsoft Outlook. Мы можем установить ссылку, открыв редактор Visual Basic в Excel и выбрав Tools➜References. Прокрутите вниз, пока не найдете запись Microsoft Outlook XX Object Library, где XX— это ваша версия Outlook. Установите флажок рядом с записью.
02 Код макроса
Sub
OtpravilFailPoEmail()
'Шаг 1: Объявляем переменные
Dim
OLApp
As
Outlook.Application
Dim
OLMail
As
Object
'Шаг 2: Открываем Outlook, чтобы создать новое сообщение
Set
OLApp =
New
Outlook.Application
Set
OLMail = OLApp.CreateItem(0)
OLApp.Session.Logon
'Шаг 3: Сформулируйте сообщение и отправьте
With
OLMail
.
To
=
" info@akademia-excel.ru"
.CC =
""
'получатели копии
.BCC =
""
'получатели скрытой копии
.Subject =
"Тема письма"
.Body =
"Образец файла прилагается"
.Attachments.Add ActiveWorkbook.FullName
.Display
'Замените на Send, если нужно сразу отправить
End
With
'Шаг 4: Очистка памяти
Set
OLMail =
Nothing
Set
OLApp =
Nothing
End
Sub
03 Как работает макрос
1. Шаг 1 сначала объявляет две переменные. OLApp — это объектная переменная, которая предоставляет приложение Outlook. OLMail — это объектная переменная, которая содержит почтовый элемент.
2. Шаг 2 активирует Outlook и начинает новый сеанс. Обратите внимание, что мы используем OLApp.Session. Войдите в систему, чтобы войти в текущий сеанс MAPI (Messaging Programming Interface Application) с учетными данными по умолчанию. Он также создает почтовое сообщение. Это эквивалентно выбору кнопки «Новое сообщение» в Outlook.
3. Шаг 3 строит профиль нашего почтового отправления. Это включает в себя CC, BCC получателей, предмет, тему и вложение. Этот шаг отмечает, что получатели вводятся в кавычках, чтобы ввести несколько получателей, добавьте их через точку с запятой. Стандартным синтаксисом для вложения является Attachments.Add «Путь к файлу». В этом коде, мы указываем путь к файлу текущей рабочей книги с помощью синтаксиса ActiveWorkbook.Fullname. Это устанавливает текущую рабочую книгу как вложение для сообщения электронной почты. Когда сообщение было сформировано, мы используем метод .Display для просмотра электронной почты. Мы можем заменить .Display на .Send - это позволит автоматически отправлять письмо без просмотра.
4. Последним шагом мы очищаем память объектов, присвоенных нашим переменным. Это снижает вероятность каких-либо проблем, вызванных объектами, которые могут остаться открытыми в памяти.
04 Как использовать
Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:
1. Активируйте редактор Visual Basic, нажав ALT + F11.
2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
3. Выберите Insert➜Module.
4. Введите или вставьте код во вновь созданном модуле.
05 Скачать файл
![](http://fs-thb02.getcourse.ru/fileservice/file/thumbnail/h/c3a7710eef2ae0872b83a442443e6303.png/s/s1200x/a/37939/sc/83)
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
![](http://fs-thb01.getcourse.ru/fileservice/file/thumbnail/h/da9833a2db498666285e3d3aecd3f1cd.png/s/s1200x/a/37939/sc/296)
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь