Офисные задачи в Outlook 2002

         

Объектная модель 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.

Содержание раздела