Объектная модель Outlook 2002

Объектная модель Microsoft Outlook реализована в виде набора объектов, собранных в библиотеке Outlook.

Объекты приложения Outlook

В табл. 21.3 приведено описание основных объектов из объектной модели Outlook.

Объект Тип Описание 
ApplicationОбьектСсылается на активное приложение Microsoft Outlook. Используется для управления приложением
NameSpaceОбъектОбъект представляет собой абстрактный корневой объект для любого источника данных
AddressLists (AddressLists)Семейство и объектСемейство объектов, представляющих адресные книги
Folders (MAPIFolders)Семейство и объектСемейство MAPIFolders объектов, которое представляет любую из доступных папок в их подмножестве на одном уровне дерева папок
Items (Item)Объект MAPIFolderПредставляет стандартный элемент Outlook, расположенный в данной папке
Links (Link)Объект ItemПредставляет объект item, который связан с другим объектом item
User Proper ties (UserProperty)Объект ItemДанное семейство хранит информацию о нестандартных свойствах элемента Outlook, созданных пользователем
FormDescriptionОбъект ItemЭтот объект хранит все стандартные свойства элемента Outlook
Actions (Action)Объект ItemВ этом семействе хранится информация об ассоциированных с данным элементом Outlook командах. Обратите внимание на то, что команды можно вывести, раскрыв в режиме конструктора вкладку Команды
Attachments (Attachment)Объект ItemСемейство представляет все вложения в элементе
Recepients (Recepint)Объект ItemЭто семейство представляет информацию о получателях элемента Outlook
ReccurencePatternОбъект ItemДанный объект задает шаблон повторения для встреч и задач
Proper ty Pages ( Proper tyPage )Семейство и объектСемейство объектов PropertyPage, которые содержат специальные вкладки со свойствами, добавленные к диалоговому окну Параметры в Outlook
LanguageSet tingsОбъектПредоставляет информацию о языковых настройках приложения
AnswerWizardОбъектСоответствует мастеру ответов Microsoft Office. Все приложения Microsoft Office имеют ровно один мастер ответов, поэтому все изменения этого объекта отразятся на активном приложении
AssistantОбъектСсылается на объект, представляющий активного в данный момент Помощника Office
SearchОбъектДанный объект представляет как простой поиск, так и расширенный поиск
Reminders (Reminder)Семейство и объектПредставляет окно Оповещения для всех напоминаний о встречах, задачах и т. д.
Explorers (Explorer)Семейство и объектСемейство объектов Explorer — набор всех окон, в которых отображается содержимое папки
Selection (Items)Объект ExplorerСемейство всех отображаемых элементов в окне просмотра информации
CommandBars (CommandBar)Объект ExplorerПредставляет обычные и контекстные меню, а также панели инструментов объекта
Panes (Pane)Объект ExplorerСемейство панелей (окон) Outlook для данного объекта Explorer
Inspectors (Inspector)Семейство и объектСемейство объектов Inspector — набор всех окон, в которых 'отображаются элемен- ты Outlook. Элемент (item) — это основной модуль хранения данных в Outlook (подобно файлу в других программах). В число эле- ментов входят почтовые сообщения, встречи, контакты, задачи и т. д. (рис. 21.4)
WordEditor и HTMLEditorОбъектыПредставляют объекты, посредством которых выбираются редакторы для объекта Inspector
Pages (Page)Объект InspectorКаждый объект inspector связан со своим семейством Pages, в которое входят все обновленные пользователем страницы формы. Если в форму для элемента не вносились изменения, то семейство Pages является пустым
ItemОбъект InspectorПредставляет стандартный элемент Outlook, расположенный в данной папке
MAPIFolderОбъектПредставляет папку Outlook

Таблица 21.3. Основные объекты Outlook

В табл. 21.4—21.6 представлено описание основных свойств, методов и событий объекта Application.

Объект Inspector (форма элемента)

Рис. 21.1. Объект Inspector (форма элемента)

Свойство Описание 
Session ClassВозвращает объект Namespace для текущего сеанса. Сеанс (session) — это период времени, в течение которого пользователь работает с Outlook
ParentВозвращает константу из перечисления QlObjectClass для указанного объекта. Это целочисленное значение, идентифицирующее класс объекта
VersionВозвращает родительский объект для указанного объекта Возвращает или задает номер версии

Таблица 21.4. Основные свойства объекта Application

Метод Назначение 
ActiveExplorerВозвращает головной объект Explorer
Active Inspect orВозвращает головной объект Inspector
ActiveWindowВозвращает объект, представляющий главное окно
CreateltemСоздает новый элемент Outlook и возвращает его приложения
GetName SpaceВозвращает объект NameSpace указанного типа
QuitЗакрывает приложение

Таблица 21.5. Основные методы объекта Application

Событие Описание 
AdvancedSearchCompleteПроисходит, когда Расширенный поиск заканчивает свою работу
ItemSendПроисходит, когда элемент посылается либо посредством Inspector, либо посредством метода Send
MapiLogonCompleteПроисходит, когда пользователь входит в систему
NewMailПроисходит, когда одно или несколько почтовых сообщений приходит в папку Входящие
OptionPagesAddПроисходит, когда открывается диалоговое окно Параметры
ReminderПроисходит непосредственно перед оповещением о встрече, задаче или собрании
StartupПроисходит сразу после загрузки приложения Outlook
QuitПроисходит, когда Outlook закрывается

Таблица 21.6. События объекта Application

Объекты MAPIFolderv и Mailltem

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

Объект MAPiFoider, как было сказано выше, представляет папку Outlook. Объект MAPiFoider может содержать другие MApiFoider-объекты. В этом случае вы можете управлять доступом к вложенным папкам посредством комбинации Folder (индекс), где индекс возвращает объект MAPiFoider.

Outlook имеет специальный набор папок, которые поддерживают заданную по умолчанию функциональность Outlook. Для доступа к этим папкам следует Использовать метод GetDefaultFolder(индекс), где индекс — одна ИЗ констант olDefauitFoiders, например olFoiderinbox возвращает папку Входящие.

В табл. 21.7 приведены основные свойства объекта MAPiFoider, а в табл. 21.8 — его методы.

Свойство Описание 
ItemsВозвращает семейство элементов Outlook в папке
DescriptionВозвращает или устанавливает описание папки
DefaultMessageClassВозвращает заданный по умолчанию класс сообщения для элементов в папке

Таблица 21.7. Свойства объекта MAPiFolder

Метод Назначение 
СоруТоКопирует текущую папку (полностью) в указанную папку. Возвращает MAPiFolder объект, представляющий новую копию
DeleteУдаляет объект из семейства папок
DisplayОтображает новый объект Explorer для папки
MoveToПеремещает папку в указанную папку

Таблица 21.8. Методы объекта MAPiFolder

Несколько слов об объекте Mailitem. Он представляет почтовое сообщение в папке Входящие (Inbox). Мы рассмотрим только необходимые для примера свойства и методы этого-объекта.

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

Свойство RecievedTime возвращает дату и время получения сообщения. Метод Display отображает новый объект inspector для выбранного элемента.

В программе 21.3 открываются все почтовые сообщения, поступившие за последние сутки.

Программа 21.3. Открытие почтовых сообщений

Sub openLastMail () Dim oa As Outlook.Application

Dim ns As NameSpace ; Dim fl As MAPiFolder Dim ob As Object Dim it As Mailitem

Dim i As integer

Set oa = CreateObject("OutLook.Application") Set ns = oa.GetNamespace("MAPI") Set fl = ns.GetDefaultFolder(olFolderlnbox) For i = 1 To f1.Items.Count Set ob = fl.Items(i) On Error GoTo nextitem If ob.MessageClass = "IPM.Note" Then Set it = ob If it.ReceivedTime > Date - 1 Then

it.Display (False) End If End If nextitem:

Next i End Sub

Замечание

Для семейств Outlook нельзя воспользоваться оператором For Each Next, поэтому применяется цикл For . . . Count.