Вы можете использовать эту технологию для управления Microsoft Outlook и отправлять электронные сообщения прямо из вашего листа таблицы или копировать записи вашей записной книги. Конечно же, особенности Excel таковы, что но электронной почте будет отправлена таблица, но этот метод позволяет вам отправлять только часть таблицы.
Для того чтобы этот код работал, вам необходимо иметь установленный и настроенный Microsoft Outlook на вашем компьютере (не путать с Outlook Express), хотя само приложение Outlook можно и не запускать.
Начните работу с добавления файла библиотеки Outlook. Это можно сделать, выбрав Tools › References в меню редактора VBA. Выберите Outlook Object Library7 и поставьте напротив этой строки галочку, как это показано на рис. 1.
Рис. 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.
Переменная 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 внесла ряд изменений в систему безопасности, таким образом улучшив работу этого приложения. Пользователь будет получать уведомление о том, что его письмо отправлено. В любых инструкциях, которыми вы обеспечиваете пользователей, вы должны указать особенности использования вашего приложения, а они, в свою очередь, должны с ними согласиться.