Поделиться через


Общие сведения об объектной модели Outlook

Обновлен: Ноябрь 2007

Для разработки надстроек для Microsoft Office Outlook необходимо взаимодействие с объектами, предоставленными объектной моделью Outlook. Объектная модель Outlook предоставляет классы для представления элементов пользовательского интерфейса. Например, класс Application представляет целое приложение, класс MAPIFolder — папку, содержащую сообщения электронной почты или иные элементы, а класс MailItem — сообщение электронной почты.

В этом разделе представлен краткие общие сведения о некоторых основных классах объектной модели Outlook. Полная документация по объектной модели Outlook приведена в разделах MSDN Справочник разработчика Outlook 2007 и Справочник по языку Microsoft Office Outlook 2003 VBA.

Доступ к объектам в проекте Outlook

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

Класс приложения

Класс Application представляет приложение Outlook и является классом самого верхнего уровня в объектной модели Outlook. К некоторым наиболее важным элементам данного класса относятся следующие:

  • метод CreateItem, который может использоваться для создания нового элемента, такого как сообщение электронной почты, задача или встреча;

  • свойство Explorers, которое может использоваться для доступа к окнам, в которых отображается содержимое папки в пользовательском интерфейсе Outlook;

  • свойство Inspectors, которое может использоваться для доступа к окнам, в которых отображается содержимое отдельного элемента, такого как сообщение электронной почты или приглашение на собрание.

Для получения экземпляра класса Application используется свойство Application класса ThisAddin.

Класс ThisAddIn

Во время создания нового проекта надстройки Outlook Visual Studio Tools for Office автоматически создает в новом проекте файл кода ThisAddIn.vb или ThisAddIn.cs. Этот файл кода служит для определения класса ThisAddin, который наследуется от OutlookAddIn. Доступ к элементам класса OutlookAddIn можно получить с помощью ключевых слов Me (в Visual Basic) или this (в C#) в пределах класса ThisAddIn. Код, находящийся вне класса ThisAddIn, может получать доступ к объекту ThisAddIn с помощью статического свойства Globals.ThisAddIn.

ms268893.alert_note(ru-ru,VS.90).gifПримечание.

Во избежание получения предупреждений безопасности при использовании свойств и методов, блокируемых системой безопасности объектной модели Outlook, следует получать объекты Outlook от объекта ThisAddIn. Дополнительные сведения см. в разделе Рекомендации по обеспечению безопасности для решений Office.

Класс проводника

Класс Explorer представляет окно, в котором отображается содержимое папки, содержащей элементы, например сообщения электронной почты, задачи или встречи. Класс Explorer включает методы и свойства, которые могут использоваться для изменения окна, и события, наступающие при изменении окна.

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

  • используйте свойство Explorers класса Application для доступа ко всем объектам Explorer в Outlook;

  • используйте метод ActiveExplorer класса Application для получения объекта Explorer, в котором в данный момент находится фокус;

  • используйте метод GetExplorer класса MAPIFolder для получения объекта Explorer для текущей папки.

Класс инспектора

Класс Inspector представляет окно, в котором отображается отдельный элемент, например сообщение электронной почты, задача или встреча. Класс Inspector включает методы и свойства, которые могут использоваться для изменения окна, и события, наступающие при изменении окна.

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

  • используйте свойство Inspectors класса Application для доступа ко всем объектам Inspector в Outlook;

  • используйте метод ActiveInspector класса Application для получения объекта Inspector, в котором в данный момент находится фокус;

  • Для извлечения инспектора, связанного с элементом, таким как MailItem или AppointmentItem, используется метод GetInspector данного элемента.

Класс MAPIFolder

Класс MAPIFolder представляет папку, содержащую элементы, например сообщения электронной почты, контакты, задачи и т.п. В Outlook предоставляется 16 объектов MAPIFolder по умолчанию.

Объекты MAPIFolder по умолчанию определяются значениями перечисления OlDefaultFolders. Например:

T:Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox соответствует папке Входящие в Outlook.

Пример, иллюстрирующий способ доступа к объекту MAPIFolder по умолчанию и создания нового объекта MAPIFolder, см. в разделе Практическое руководство. Создание настраиваемых элементов папок.

Класс MailItem

Класс MailItem представляет сообщение электронной почты. Объекты MailItem обычно располагаются в папках, таких как Входящие, Отправленные или Исходящие. Объект MailItem предоставляет свойства и методы, которые могут использоваться для создания и отправки сообщений электронной почты.

Пример создания сообщения электронной почты см. в разделе Практическое руководство. Создание элемента электронной почты.

Класс AppointmentItem

Класс AppointmentItem представляет однократную или повторяющуюся встречу в папке Календарь. Класс AppointmentItem включает методы для выполнения таких действий, как ответ или пересылка приглашений на встречу, и свойства, определяющие подробности встречи, например время и место.

Пример создания встречи см. в разделе Практическое руководство. Создание приглашения на собрание.

Класс TaskItem

Класс TaskItem представляет задачу, подлежащую выполнению в пределах определенного периода времени. Объекты TaskItem размещаются в папке Задачи.

Чтобы создать задачу, воспользуйтесь методом CreateItem класса Application, передав ему в качестве параметра значение olTaskItem.

Класс ContactItem

Класс ContactItem представляет контакт в папке Контакты. Объекты ContactItem содержат различные сведения о людях, которых они представляют, например почтовый адрес, адрес электронной почты и телефонные номера.

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

Использование документации по объектной модели Outlook

Сведения о доступных классах объектной модели Outlook см. в следующих пакетах документации:

По первой ссылке можно найти сведения о классах и интерфейсах в основной сборке взаимодействия для Outlook. Остальные ссылки ведут к документации по объектной модели Outlook, как она представлена применительно к коду Visual Basic для приложений (VBA). Каждый пакет документации имеет преимущества и недостатки для разработчиков, использующих Visual Studio Tools for Office.

Документация по основной сборке взаимодействия

В данной документации описываются все типы основной сборки взаимодействия Outlook, которые можно использовать в проектах Visual Studio Tools for Office.

  • Описываются типы основной сборки взаимодействия для Outlook 2007. Поэтому при разработке надстроек Outlook 2003 использование некоторых классов и элементов, приведенных в данной документации, будет невозможно. Описание типов и элементов, доступных для Outlook 2003, см. в "Справочнике по языку Microsoft Office Outlook 2003 VBA".

  • На данный момент в этой документации не предоставляются примеры кода.

Документация по VBA

В данной документации описываются все объекты и члены, соответствующие классам и членам основной сборки взаимодействия, используемым в проектах Visual Studio Tools for Office. Например объект Inspector в документации по языку Outlook VBA соответствует классу Microsoft.Office.Interop.Outlook.Inspector в основной сборке взаимодействия.

Документация по VBA имеет следующие преимущества:

  • содержит примеры кода для большинства элементов.

Документация по VBA имеет следующие недостатки:

  • Синтаксис и примеры кода предоставлены только для VBA. Чтобы использовать примеры кода в проектах Visual Studio Tools for Office, необходимо транслировать код VBA в Visual Basic или Visual C#.

Дополнительные типы в основных сборках взаимодействия

В основных сборках взаимодействия представлено множество типов, недоступных в VBA. Эти дополнительные типы используются для преобразования объектов COM-модели Outlook в управляемый код и не предназначены для непосредственного использования в коде.

Дополнительные сведения см. в разделе Архитектура основной сборки взаимодействия (PIA) Outlook.

См. также

Задачи

Практическое руководство. Добавление форм Windows Forms в решения Outlook

Практическое руководство. Добавление пользовательских меню и пунктов меню к Outlook

Практическое руководство. Добавление пользовательских панелей инструментов и элементов панели инструментов в Outlook

Практическое руководство. Добавление пользовательских значков на панель инструментов и в пункты меню

Практическое руководство. Сохранение положения информации для настраиваемых панелей инструментов между сессиями Outlook

Практическое руководство. Чтение данных из настраиваемого поля элемента

Практическое руководство. Определение родительской папки несохраненных элементов

Практическое руководство. Определение текущего элемента Outlook

Основные понятия

Рекомендации по обеспечению безопасности для решений Office

Общие сведения о разработке решений Office

Работа с элементами контактов

Работа с элементами почты

Работа с папками

Работа с элементами календаря