Обзор объектной модели Outlook — Visual Studio (Windows)
- Статья
- Чтение занимает 4 мин
Применимо к: Visual Studio Visual Studio для Mac Visual Studio Code
Для разработки надстроек VSTO для Microsoft Office Outlook вы можете взаимодействовать с объектами, которые предоставляются объектной моделью Outlook. Объектная модель Outlook предоставляет классы и интерфейсы, которые представляют элементы пользовательского интерфейса. Например, объект Application представляет все приложение, объект Folder — папку, содержащую электронные сообщения или другие элементы, а объект MailItem — электронное сообщение.
Этот раздел содержит краткий обзор некоторых основных объектов в объектной модели Outlook. Дополнительные сведения о всей объектной модели Outlook см. в документации по объектной модели Outlook.
Применимо к: Сведения в этом разделе относятся к проектам надстроек VSTO для Outlook. Дополнительные сведения см. в разделе «Функции», доступные в приложениях Office и типах проектов.
Доступ к объектам в проекте Outlook
Outlook предоставляет множество различных объектов, с которыми можно взаимодействовать. Для эффективного использования объектной модели вы должны быть знакомы со следующими объектами верхнего уровня:
Application
Explorer
Inspector
Folder
MailItem
AppointmentItem
TaskItem
ContactItem
Объект приложения
Объект Application представляет приложение Outlook. Это объект самого верхнего уровня в объектной модели Outlook.
Метод CreateItem , который можно использовать для создания элемента, например электронного сообщения, задачи или встречи.
Свойство Explorers , которое можно использовать для доступа к окнам с содержимым папки в пользовательском интерфейсе Outlook.
Свойство Inspectors , которое можно использовать для доступа к окнам с содержимым одного элемента, например электронного сообщения или приглашения на собрание.
Чтобы получить экземпляр Application объекта, используйте поле
ThisAddInApplication класса в проекте. Дополнительные сведения см. в разделе «Программные надстройки VSTO».
Примечание
Чтобы избежать предупреждений системы безопасности при использовании свойств и методов, заблокированных защитой объектной модели Outlook, получите объекты Outlook из поля application класса. Дополнительные сведения см. в разделе «Особые вопросы безопасности» для решений Office.
Объект Explorer
Объект Explorer представляет окно, отображающее содержимое папки с такими элементами, как электронные сообщения, задачи и встречи. Объект Explorer содержит методы и свойства, с помощью которых можно изменять окно, а также события, возникающие при изменении окна.
Чтобы получить объект Explorer , выполните одно из следующих действий.
Используйте свойство Explorers объекта Application для доступа ко всем объектам Explorer в Outlook.
Используйте метод ActiveExplorer объекта Application , чтобы получить Explorer , который имеет фокус в данный момент.
Используйте метод
GetExplorerобъекта Folder, чтобы получить Explorer для текущей папки.
Объект Inspector
Объект Inspector представляет окно, в котором отображается отдельный элемент, например электронное сообщение, задача или встреча. Объект Inspector содержит методы и свойства, с помощью которых можно изменять окно, а также события, возникающие при изменении окна.
Чтобы получить объект Inspector , выполните одно из следующих действий.
Используйте свойство Inspectors объекта Application для доступа ко всем объектам Inspector в Outlook.
Используйте метод ActiveInspector объекта Application , чтобы получить Inspector , который имеет фокус в данный момент.
Используйте метод
GetInspectorопределенного элемента, такого как MailItem или AppointmentItem, для извлечения инспектора, связанного с ним.
Объект Folder
Объект Folder представляет папку, содержащую электронные сообщения, контакты, задачи и другие элементы. Outlook предоставляет 16 объектов Folder по умолчанию.
Объекты Folder по умолчанию определяются значениями перечисления OlDefaultFolders . Например,
Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox соответствует папке «Входящие» в Outlook.
Пример, показывающий, как получить доступ к умолчанию Folder и создать новый Folderобъект, см.
в разделе «Практическое руководство. Программное создание пользовательских элементов папок».
Объект MailItem
Объект MailItem представляет электронное сообщение. ОбъектыMailItem обычно находятся в папках, таких как Входящие, Отправленныеи Исходящие. MailItem предоставляет свойства и методы, которые можно использовать для создания и отправки электронных сообщений.
Пример создания сообщения электронной почты см. в разделе «Практическое руководство. Программное создание элемента электронной почты».
Объект AppointmentItem
Объект AppointmentItem представляет собрание, однократную или повторяющуюся встречу или собрание в папке Календарь . Объект AppointmentItem содержит методы для выполнения таких действий, как ответ на приглашения на собрание и их пересылка, а также свойства, определяющие сведения о встрече, например время и место проведения.
Пример создания встречи см. в разделе «Практическое руководство.
Программное создание приглашения на собрание».
Объект TaskItem
Объект TaskItem представляет задачу, выполняемую в течение заданного промежутка времени. ОбъектыTaskItem расположены в папке Задачи .
Чтобы создать задачу, используйте метод CreateItem объекта Application и передайте значение olTaskItem для параметра.
Объект ContactItem
Объект ContactItemпредставляет контакт в папке Контакты . ОбъектыContactItem содержат различные контактные данные для людей, которые они представляют, например адреса, электронные адреса и номера телефонов.
Пример создания нового контакта см. в статье «Практическое руководство. Программное добавление записи в контакты Outlook». Пример, демонстрирующий поиск существующего контакта, см. в разделе «Практическое руководство. Программный поиск определенного контакта».
Использование документации по объектной модели Outlook
Полные сведения об объектной модели Outlook см. в справочнике по основной сборке взаимодействия (PIA) Outlook и в справочнике по объектной модели VBA.
Ссылка на основную сборку взаимодействия
В справочных документах по основной сборке взаимодействия Outlook описываются типы основной сборки взаимодействия для Outlook 2010. Дополнительные сведения см. в справочнике по основной сборке взаимодействия Outlook 2010.
Помимо информации о всех типах в основных сборках взаимодействия, эта документация также содержит дополнительные сведения о структуре основных сборок взаимодействия и примеры кода для общих задач автоматизации Outlook.
Справочник по объектной модели VBA
В справочных документах по объектной модели VBA объектная модель Outlook описана в том виде, в котором она предоставляется коду Visual Basic для приложений. Дополнительные сведения см. в справочнике по объектной модели Outlook 2010.
Все объекты и элементы в справочнике объектной модели VBA соответствуют типам и участникам основной сборки взаимодействия Outlook. Например, объект Inspector в справочнике по объектной модели VBA соответствует объекту Inspector в Outlook PIA.
Несмотря на то что в справочнике по объектной модели VBA содержатся примеры кода для большинства свойств, методов и событий, необходимо преобразовать код VBA в этом справочнике в код Visual Basic или Visual C#, если требуется использовать их в проекте надстройки VSTO для Outlook, создаваемом с помощью Visual Studio.
| Заголовок | Описание |
|---|---|
| Работа с контактами | Содержит разделы, в которых описывается выполнение задач с контактами. |
| Работа с почтовыми элементами | Содержит разделы, в которых описывается выполнение задач с элементами почты. |
| Работа с папками | Содержит разделы, в которых описывается выполнение задач с папками. |
| Работа с элементами календаря | Содержит разделы, в которых описывается выполнение задач с элементами календаря. |
| Практическое руководство. Программное определение текущего элемента Outlook | Здесь показано, как отобразить имя текущей папки и некоторые сведения о выбранном элементе.![]() |
Объект приложения (Outlook) | Microsoft Learn
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Представляет все приложение Microsoft Outlook.
Это единственный объект в иерархии, который можно вернуть с помощью метода CreateObject или внутренней Visual Basic GetObject.
Объект Outlook приложения имеет несколько целей:
Как корневой объект, он позволяет получить доступ к другим объектам в Outlook иерархии.
Это позволяет прямой доступ к новому элементу, созданному с помощью CreateItem, без обхода иерархии объектов.
Он позволяет получить доступ к объектам активного интерфейса (проводнику и инспектору).
При использовании автоматизации для управления Outlook из другого приложения используется метод CreateObject для создания объекта Outlook приложения.
Пример
В следующем Visual Basic для приложений (VBA) начинается Outlook (если он еще не запущен) и открывается папка входящие по умолчанию.
Set myNameSpace = Application.GetNameSpace("MAPI")
Set myFolder= _
myNameSpace.
GetDefaultFolder(olFolderInbox)
myFolder.Display
В следующем Visual Basic для приложений (VBA) используется объект Application для создания и открытия нового контакта.
Set myItem = Application.CreateItem(olContactItem) myItem.Display
События
| Имя |
|---|
| AdvancedSearchComplete |
| AdvancedSearchStopped |
| BeforeFolderSharingDialog |
| ItemLoad |
| ItemSend |
| MAPILogonComplete |
| NewMail |
| NewMailEx |
| OptionsPagesAdd |
| Quit |
| Reminder |
| Startup |
Методы
| Имя |
|---|
| ActiveExplorer |
| ActiveInspector |
| ActiveWindow |
| AdvancedSearch |
| CopyFile |
| CreateItem |
| CreateItemFromTemplate |
| CreateObject |
| GetNamespace |
| GetObjectReference |
| IsSearchSynchronous |
| Quit |
| RefreshFormRegionDefinition |
Свойства
| Имя |
|---|
| Application |
| Assistance |
| Class |
| COMAddIns |
| DefaultProfileName |
| Explorers |
| Inspectors |
| IsTrusted |
| LanguageSettings |
| Name |
| Parent |
| PickerDialog |
| ProductCode |
| Reminders |
| Session |
| TimeZones |
| Version |
См.
такжеOutlook объектной модели
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Обзор объектной модели Outlook — Visual Studio (Windows)
- Статья
- 5 минут на чтение
Применяется к: Visual Studio Visual Studio для Mac Visual Studio Code
Для разработки надстроек VSTO для Microsoft Office Outlook можно взаимодействовать с объектами, предоставляемыми объектной моделью Outlook. Объектная модель Outlook предоставляет классы и интерфейсы, представляющие элементы пользовательского интерфейса.
Например, объект Application представляет все приложение, объект Folder представляет папку, содержащую сообщения электронной почты или другие элементы, а объект MailItem представляет сообщение электронной почты.
В этом разделе представлен краткий обзор некоторых основных объектов объектной модели Outlook. Ресурсы, где вы можете узнать больше обо всей объектной модели Outlook, см. в разделе Использование документации по объектной модели Outlook.
Применяется к: Сведения в этом разделе относятся к проектам надстроек VSTO для Outlook. Дополнительные сведения см. в разделе Возможности, доступные в зависимости от приложения Office и типа проекта.
Доступ к объектам в проекте Outlook
Outlook предоставляет множество объектов, с которыми можно взаимодействовать. Чтобы эффективно использовать объектную модель, вы должны быть знакомы со следующими объектами верхнего уровня:
Приложение
Проводник
Инспектор
Папка
Почтовый Пункт
Пункт назначения
Элемент задачи
Элемент контакта
Объект приложения
Объект приложения представляет приложение Outlook и является объектом самого высокого уровня в объектной модели Outlook.
Некоторые из наиболее важных членов этого объекта включают в себя:
Метод CreateItem, который можно использовать для создания нового элемента, такого как сообщение электронной почты, задача или встреча.
Свойство Explorers, которое можно использовать для доступа к окнам, отображающим содержимое папки в пользовательском интерфейсе Outlook.
Свойство Inspectors, которое можно использовать для доступа к окнам, отображающим содержимое одного элемента, например сообщения электронной почты или приглашения на собрание.
Чтобы получить экземпляр объекта Application, используйте поле Application
Класс ThisAddInв вашем проекте. Дополнительные сведения см. в разделе надстройки Program VSTO.
Примечание
Чтобы избежать предупреждений системы безопасности при использовании свойств и методов, заблокированных средством защиты объектной модели Outlook, получите объекты Outlook из поля Application класса ThisAddIn .
Дополнительные сведения см. в статье Особенности безопасности для решений Office.
Объект Explorer
Объект Explorer представляет собой окно, в котором отображается содержимое папки, содержащей такие элементы, как сообщения электронной почты, задачи или встречи. Объект Explorer включает методы и свойства, которые можно использовать для изменения окна, а также события, возникающие при изменении окна.
Чтобы получить объект Explorer, выполните одно из следующих действий:
Используйте свойство Explorers объекта Application для доступа ко всем объектам Explorer в Outlook.
Используйте метод ActiveExplorer объекта Application, чтобы получить проводник, который в данный момент находится в фокусе.
Используйте метод
GetExplorerобъекта Folder, чтобы получить Проводник для текущей папки.
Инспектор объекта
Объект Inspector представляет собой окно, в котором отображается один элемент, например сообщение электронной почты, задача или встреча.
Объект Inspector включает в себя методы и свойства, которые можно использовать для изменения окна, а также события, возникающие при изменении окна.
Чтобы получить объект Inspector, выполните одно из следующих действий:
Используйте свойство Inspectors объекта Application для доступа ко всем объектам Inspector в Outlook.
Используйте метод ActiveInspector объекта Application, чтобы получить инспектор, который в данный момент находится в фокусе.
Используйте метод
GetInspectorопределенного элемента, например MailItem или AppointmentItem, для получения связанного с ним Inspector.
Объект «Папка»
Объект «Папка» представляет собой папку, содержащую сообщения электронной почты, контакты, задачи и другие элементы. Outlook предоставляет 16 объектов папки по умолчанию.
Объекты Folder по умолчанию определяются значениями перечисления OlDefaultFolders. Например,
Microsoft.
Office.Interop.Outlook.OlDefaultFolders.olFolderInbox соответствует папке Inbox в Outlook.
Пример, показывающий, как получить доступ к папке по умолчанию и создать новую папку, см. в разделе Практическое руководство. Программное создание настраиваемых элементов папки.
Объект MailItem
Объект MailItem представляет сообщение электронной почты. Объекты MailItem обычно находятся в папках, таких как Входящие , Отправленные и Исходящие . MailItem предоставляет свойства и методы, которые можно использовать для создания и отправки сообщений электронной почты.
Пример, показывающий, как создать сообщение электронной почты, см. в разделе Практическое руководство. Программное создание элемента электронной почты.
Объект AppointmentItem
Объект AppointmentItem представляет собрание, разовую встречу или повторяющуюся встречу или собрание в папке Calendar .
Объект AppointmentItem включает методы, выполняющие такие действия, как ответ на приглашение на собрание или его переадресацию, а также свойства, определяющие сведения о собрании, такие как место и время.
Пример создания встречи см. в разделе Практическое руководство. Программное создание приглашения на собрание.
Объект TaskItem
Объект TaskItem представляет задачу, которая должна быть выполнена в течение определенного периода времени. Объекты TaskItem расположены в папке Tasks .
Чтобы создать задачу, используйте метод CreateItem объекта Application и передайте значение olTaskItem в качестве параметра.
Объект ContactItem
Объект ContactItem представляет контакт в Папка Контакты . Объекты ContactItem содержат различную контактную информацию о людях, которых они представляют, например адреса улиц, адреса электронной почты и номера телефонов.
Пример, показывающий, как создать новый контакт, см.
в разделе Практическое руководство. Программное добавление записи в контакты Outlook. Пример, показывающий, как искать существующий контакт, см. в разделе Практическое руководство. Программный поиск определенного контакта.
Используйте документацию по объектной модели Outlook
Полную информацию об объектной модели Outlook можно найти в справочнике по основной сборке взаимодействия Outlook (PIA) и справочнике по объектной модели VBA.
Справочник по основной сборке взаимодействия
Справочник по PIA Outlook документирует типы в основных сборках взаимодействия для Outlook 2010. Дополнительные сведения см. в разделе Справочник по основной сборке взаимодействия Outlook 2010.
Помимо информации обо всех типах PIA, эта документация также содержит дополнительную информацию о структуре PIA и примеры кода для общих задач автоматизации Outlook.
Справочник по объектной модели VBA
Справочник по объектной модели VBA документирует объектную модель Outlook в том виде, в каком она представлена в коде Visual Basic для приложений (VBA).
Дополнительные сведения см. в справочнике по объектной модели Outlook 2010.
Все объекты и члены в справочнике по объектной модели VBA соответствуют типам и членам в Outlook PIA. Например, объект Inspector в справочнике по объектной модели VBA соответствует объекту Inspector в Outlook PIA. Хотя в справочнике по объектной модели VBA приведены примеры кода для большинства свойств, методов и событий, код VBA в этом справочнике необходимо преобразовать в Visual Basic или Visual C#, если вы хотите использовать их в создаваемом проекте надстройки Outlook VSTO. с помощью Visual Studio.
| Название | Описание |
|---|---|
| Работа с контактными элементами | Содержит разделы, в которых показано, как выполнять задачи с контактами. |
| Работа с почтовыми отправлениями | Содержит разделы, в которых показано, как выполнять задачи с почтовыми элементами. |
| Работа с папками | Содержит разделы, в которых показано, как выполнять задачи с папками.![]() |
| Работа с элементами календаря | Содержит разделы, в которых показано, как выполнять задачи с элементами календаря. |
| Как программно определить текущий элемент Outlook | Показывает, как отобразить имя текущей папки и некоторую информацию о выбранном элементе. |
Обход защиты объектной модели Outlook в Outlook 2021
Менеджер безопасности Какие версии Outlook имеют защиту объектной модели? Обновление безопасности электронной почты Outlook 2000 добавило в Outlook еще одну проблему безопасности, которая позже была названа Outlook Object Model Guard . Начиная с пакета обновления 2 (SP2) для Outlook 2000, включающего это обновление безопасности электронной почты Outlook, все версии Microsoft Outlook инициируют запросы системы безопасности и блокируют доступ к объектам Outlook, чтобы предотвратить получение вредоносными программами адресов электронной почты из данных Outlook и использование Outlook для распространения вирусов и спам. Вы получите предупреждение системы безопасности, если вы получите доступ к защищенным объектам Outlook из ваших автономных приложений , которые автоматизируют Outlook 2000–2021. Если вы разрабатываете надстройки Outlook , вы получите предупреждение системы безопасности только в Outlook 2000. Любые более поздние версии Outlook поддерживают технологию надежных надстроек, позволяющую обойти защиту объектной модели. Охранник Outlook вызывает следующие диалоговые окна: Программа пытается получить доступ к адресам электронной почты, которые вы сохранили в Outlook 9.0027Программа пытается автоматически отправить электронную почту от вашего имениКакие объекты Outlook защищены обновлением безопасности электронной почты Outlook С точки зрения диспетчера безопасности Outlook все заблокированные объекты Outlook называются защищенными объектами. Охранник объектной модели Outlook защищает описанные ниже объекты Outlook. Объект Outlook.ItemЗащита объектной модели Outlook предотвращает доступ к следующим проблемам объекта Outlook.Item:
Адресные книги, получатели и элементы OutlookОбновление безопасности электронной почты Outlook защищает адресные книги Outlook, коллекцию получателей и объекты элементов Outlook, а именно:
Что Outlook Security Manager предоставляет для обхода Outlook Object Model GuardOutlook Security Manager предоставляет специальное свойство DisableOOMWarnings, которое отключает все предупреждения безопасности Outlook, инициируемые защитой объектной модели при доступе к защищенным объектам. Например: Visual Basic .NET
Приведенный выше пример кода написан на Visual Basic . |







MailItem