Объектная модель 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