Разное

Объектная модель outlook 2019: Обзор объектной модели Outlook — Visual Studio (Windows)

Содержание

Обзор объектной модели 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 объекта, используйте поле ThisAddIn Application класса в проекте. Дополнительные сведения см. в разделе «Программные надстройки VSTO».

Примечание

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

ThisAddIn 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

Менеджер безопасности
для Microsoft® Outlook®

Какие версии 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. Коллекция Attachments в объектной модели не знает о небезопасных вложениях.
  • Метод Отправить . При запуске программы, использующей объектную модель Outlook для вызова метода Send, появляется предупреждающее сообщение.
  • Метод Сохранить как . Когда вы используете метод SaveAs для сохранения элементов в файловой системе, вы получаете предупреждающее сообщение «адресной книги».

Адресные книги, получатели и элементы Outlook

Обновление безопасности электронной почты Outlook защищает адресные книги Outlook, коллекцию получателей и объекты элементов Outlook, а именно:

  • Коллекция AddressEntries или любой объект AddressEntry.
  • Коллекция Recipients или любой объект Recipient.
  • Следующие свойства объекта ContactItem : Email1.Address, Email1.AddressType, Email1.DisplayName, Email1.EntryID, Email2.Address, Email2.AddressType, Email2.DisplayName, Email2.EntryID, Email3.Address, Email3. AddressType, Email3.DisplayName, Email3.EntryID, NetMeetingAlias, ReferredBy .
  • Следующие свойства объекта MailItem : SentOnBehalfOfName, SenderName, ReceivedByName, ReceivedOnBehalfOfName, ReplyRecipientNames, To, Cc, Bcc.
  • Следующие свойства объекта AppointmentItem : Organizer, RequiredAttendees, OptionalAttendees, Resources, NetMeetingOrganizerAlias.
  • Следующие свойства объекта TaskItem : ContactNames, Contacts, Delegator, Owner, StatusUpdateRecipients, StatusOnCompletionRecipients.
  • Метод GetMember объекта DistListItem .
  • Свойство ContactNames объекта JournalItem .
  • Свойство SenderName объекта MeetingItem .
  • Свойство SenderName объекта PostItem .
  • Свойство GetRecipientFromID объекта Namespace .
  • Метод Execute объекта Action .
  • Свойство Formula UserProperty объект.

Что Outlook Security Manager предоставляет для обхода Outlook Object Model Guard

Outlook Security Manager предоставляет специальное свойство DisableOOMWarnings, которое отключает все предупреждения безопасности Outlook, инициируемые защитой объектной модели при доступе к защищенным объектам. Например:

Visual Basic .NET

. теперь его очень легко отключить!
Импорт Outlook = Microsoft.Office.Interop.Outlook
‘…
Dim SecurityManager As New AddinExpress.Outlook.SecurityManager
Dim OutlookApp As New Outlook._Application
Dim OutlookItem As Outlook. MailItem
‘…
‘ Connects to an Outlook instance
SecurityManager.ConnectTo(OutlookApp)
‘ Получение первого элемента в папке «Входящие»
OutlookItem = OutlookApp.getNamespace («MAPI»). GetDefaultFolder (OlFolderInbox) .Items (1)
‘Отключает предупреждение о безопасности.
SecurityManager.DisableOOMWarnings = True
Try
‘ The SenderName является защищенным свойством объекта MailItem
MSGBox (OutlookItem.sendername)
Наконец
‘В любом случае, пожалуйста, Debley.nings
SecurityManager.DisableOOMWarnings = False
Завершить попытку

Приведенный выше пример кода написан на Visual Basic .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *