Макросы по работе с контактами и сообщениями в Outlook

Автор: | 31.05.2016

Объектная модель Outlook позволяет манипулировать как папками Outlook, так и данными, в них хранимыми. Можно управлять интерфейсом Outlook, а также перехватывать и обрабатывать многие события, происходящие в Outlook, например, получение новой почты или отправка существующей.

Однако по сравнению с Word и Excel многие функции Outlook не могут быть настроены через объектную модель Outlook, например, нельзя перенастроить команду Параметры меню Сервис.

При автоматизации работы с Outlook в первую очередь надо установить ссылку на библиотеку Microsoft Outlook 11.0 Object Library. Outlook хранит всю информацию в MAPI-папках (Messaging Application Programming Interface), которые инкапсулированы в пространство имен MAPI. Поэтому, как правило, первыми инструкциями, используемыми при получении данных, хранимых в Outlook, являются

Dim ol As Outlook.Application

Dim oNS As Outlook.Namespace

Set ol = New Outlook.Application

Set oNS = ol.GetNamespace(“MAPI”)

После того, как возвращена ссылка на пространство имен, открывается доступ к папкам, в нем содержащимся, а затем и к данным, в них хранимым.

В прилагаемом файле Excel содержатся 2 макроса.

1) Получение списка всех контактов в Outlook

2) Копирование всех выделенных сообщений из Получение списка всех контактов в Outlook в Word-документ.

Первый макрос у меня на сотом контакте выдает ошибку, а второй работает верно.

Outlook я предварительно запускаю и при начале работа макросов выдается запрос на продолжение обработки, что так и должно быть.

Информация по этой теме  есть в Интернете. Я её взял из книги Андрея Гараничева VBA стр. 557-558