Объектная модель Outlook 2002
Объектная модель Microsoft Outlook реализована в виде набора объектов, собранных в библиотеке Outlook.
21.4.1. Объекты приложения Outlook
В табл. 21.3 приведено описание основных объектов из объектной модели 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 |
а также панели
инструментов объекта |
||
|
И Inspector
|
Explorer И Inspector
|
||
Panes (Pane)
|
Объект |
Семейство панелей
(окон) Outlook для данного |
||
|
Explorer |
объекта Explorer
|
||
Inspectors |
Семейство |
Семейство объектов
Inspector — набор |
||
(Inspector)
|
и объект |
всех окон, в
которых 'отображаются элемен- |
||
|
|
ты Outlook.
Элемент (item) — это основной |
||
|
|
модуль хранения
данных в Outlook (подобно |
||
|
|
файлу в других
программах). В число эле- |
||
|
|
ментов входят
почтовые сообщения, встречи, контакты, задачи и т. д. (рис. 21.4)
|
||
WordEditor и
|
Объекты |
Представляют
объекты, посредством которых |
||
HTMLEditor |
|
выбираются редакторы
для объекта |
||
|
|
Inspector |
||
Pages (Page)
|
Объект |
Каждый объект
inspector связан со своим |
||
|
Inspector |
семейством Pages,
в которое входят все |
||
|
|
обновленные
пользователем страницы формы. |
||
|
|
Если в форму
для элемента не вноси- |
||
|
|
лись изменения,
то семейство Pages явля- |
||
|
|
ется пустым
|
||
Item |
Объект |
Представляет
стандартный элемент Outlook, |
||
|
Inspector |
расположенный
в данной папке |
||
MAPIFolder |
Объект |
Представляет
папку Outlook |
||
В табл. 21.4—21.6 представлено описание основных свойств, методов и событий объекта Application.
Рис. 21.1. Объект Inspector (форма элемента)
Таблица 21.4. Основные свойства объекта Application
Свойство
|
Описание
|
||
Session Class |
Возвращает объект Namespace для текущего сеанса. Сеанс (session) — это период времени, в течение которого пользователь работает с Outlook |
||
Parent | Возвращает константу из перечисления QlObjectClass для указанного объекта. Это целочисленное значение, идентифицирующее класс объекта | ||
Version | Возвращает родительский объект для указанного объекта Возвращает или задает номер версии |
Таблица 21.5. Основные методы объекта Application
Метод
|
Назначение
|
ActiveExplorer |
Возвращает головной объект Explorer |
Active Inspect or | Возвращает головной объект Inspector |
ActiveWindow | Возвращает объект, представляющий главное окно |
Createltem | Создает новый элемент Outlook и возвращает его приложения |
Метод
|
Назначение
|
||
GetName Space |
Возвращает объект NameSpace указанного типа |
||
Quit | Закрывает приложение |
Таблица 21.6. События объекта Application
Событие
|
Описание
|
||
AdvancedSearchComplete
|
Происходит,
когда Расширенный поиск заканчивает свою работу |
||
ItemSend |
Происходит,
когда элемент посылается либо посредством Inspector, либо посредством
метода Send |
||
MapiLogonComplete
|
Происходит,
когда пользователь входит в систему |
||
NewMail |
Происходит,
когда одно или несколько почтовых сообщений приходит в папку Входящие
|
||
OptionPagesAdd
|
Происходит,
когда открывается диалоговое окно Параметры |
||
Reminder |
Происходит непосредственно
перед оповещением о встрече, задаче или собрании |
||
Startup |
Происходит сразу
после загрузки приложения Outlook |
||
Quit |
Происходит,
когда Outlook закрывается |
||
21.4.2. Объекты MAPIFolderv и Mailltem
Поскольку в примерах этой главы и следующей используются свойства и методы объектов MAPIFolder и Mailltem, мы сочли необходимым привести их краткое описание.
Объект MAPiFoider, как было сказано выше, представляет папку Outlook. Объект MAPiFoider может содержать другие MApiFoider-объекты. В этом случае вы можете управлять доступом к вложенным папкам посредством комбинации Folder (индекс), где индекс возвращает объект MAPiFoider.
Outlook имеет специальный набор папок, которые поддерживают заданную по умолчанию функциональность Outlook. Для доступа к этим папкам следует Использовать метод GetDefaultFolder(индекс), где индекс — одна ИЗ констант olDefauitFoiders, например olFoiderinbox возвращает папку Входящие.
В табл. 21.7 приведены основные свойства объекта MAPiFoider, а в табл. 21.8 — его методы.
Таблица 21.7. Свойства объекта MAPiFolder
Свойство
|
Описание
|
||
Items |
Возвращает семейство элементов Outlook в папке |
||
Description | Возвращает или устанавливает описание папки | ||
DefaultMessageClass | Возвращает заданный по умолчанию класс сообщения для элементов в папке |
Таблица 21.8. Методы объекта MAPiFolder
Метод
|
Назначение
|
||
СоруТо |
Копирует текущую папку (полностью) в указанную папку. Возвращает MAPiFolder объект, представляющий новую копию |
||
Delete | Удаляет объект из семейства папок | ||
Display | Отображает новый объект Explorer для папки | ||
MoveTo | Перемещает папку в указанную папку |
Несколько слов об объекте 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.