Microsoft Excel

трюкиприёмырешения

VBA и макросы
31.10.2016 11623

Как отправлять электронные сообщения Microsoft Outlook прямо из вашего листа таблицы Excel с помощью VBA

Вы можете использовать эту технологию для управления Microsoft Outlook и отправлять электронные сообщения прямо из вашего листа таблицы или копировать записи вашей записной книги. Конечно же, особенности Excel таковы, что но электронной почте будет отправлена таблица, но этот метод позволяет вам отправлять только часть таблицы.

Для того чтобы этот код работал, вам необходимо иметь установленный и настроенный Microsoft Outlook на вашем компьютере (не путать с Outlook Express), хотя само приложение Outlook можно и не запускать.

Начните работу с добавления файла библиотеки Outlook. Это можно сделать, выбрав ToolsReferences в меню редактора VBA. Выберите Outlook Object Library7 и поставьте напротив этой строки галочку, как это показано на рис. 1.

Рис. 1. Выбор файла объекта библиотеки для Microsoft Outlook

Рис. 1. Выбор файла объекта библиотеки для Microsoft Outlook

Затем введите следующий код в модуле:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub Test_Outlook()
    Dim oFolder As Outlook.MAPIFolder
    Dim oItem As Outlook.MailItem
    Dim oOutlook As New Outlook.Application
    Dim MoOutlook As Outlook.Namespace
    Set MoOutlook = oOutlook.GetNamespace("MAPI")
    Set oFolder = MoOutlook.GetDefaultFolder(olFolderOutbox)
    Set oItem = oFolder.Items.Add(olMailItem)
    With oItem
        .Recipients.Add ("sample_name@domain.ru")
        .Subject = "Укажите тему письма"
        .Body = "Текст Вашего сообщения"
        .Importance = olImportanceHigh
        .Send
    End With
    Set oItem = Nothing
    Set oFolder = Nothing
End Sub

Первые четыре строки кода определяют переменные, основанные на типах Microsoft Outlook, — для самого приложения Outlook, для пространства имен, для папки и, собственно, для письма. Переменной MoOutlook присваивается ссылка на пространство имен MAPI. Она представляет собой один из сервисов хранения данных Outlook.

MAPI — это только лишь тип поддерживаемого Outlook пространства имен.

Переменная oFolder указывает на папку по умолчанию Outlook. Она является объектом, представляющим Outbox, куда вы будете помещать сообщения для их отправки. Вы делаете это, присваивая переменной oItem ссылку на новый элемент почты в этой папке. Это то же самое, если вы создадите новое сообщение в Microsoft Outlook. Затем код повторяет все то, что вы должны сделать для формирования нового электронного письма в Microsoft Outlook.

Сначала добавляется адрес получателя. В этом месте вы можете добавить ваш собственный адрес вместо строки, показанной в примере. Если получатель является пользователем вашей локальной сети и внесен в список адресов Outlook, то можно просто использовать его имя. Свойство Subject — это тема сообщения, получатель увидит ее в заголовке. Свойство Body — это само сообщение электронной почты. Не забудьте, что вы можете использовать оператор Chr (13) для перехода на другую строку, таким образом, вы сможете вставить свое имя в конце сообщения на отдельной строке.

Свойство Importance позволяет определить важность сообщения. Возможные значения для этого свойства будут показаны в выпадающем списке при написании кода. Можно указать одно из следующих значений: olImmportanceHigh (наибольшая важность), olImportanceNormal (обычная важность) или olImportanceLow (малая важность).

Оператор Send — это команда отправки почты. Затем переменным oltem и oFolder присваиваются значения Nothing, поэтому после отправки почты оперативная память вашего компьютера освобождается.

Эту технологию используют многие почтовые вирусы, одним из самых известных является вирус Love Bug. Вы должны использовать этот код с необходимой осторожностью, так как автоматическая рассылка огромного количества писем может заблокировать систему электронной почты, а также разозлить получателей.

В последних версиях Outlook компания Microsoft внесла ряд изменений в систему безопасности, таким образом улучшив работу этого приложения. Пользователь будет получать уведомление о том, что его письмо отправлено. В любых инструкциях, которыми вы обеспечиваете пользователей, вы должны указать особенности использования вашего приложения, а они, в свою очередь, должны с ними согласиться.

Top