Иллюстрированный самоучитель по Microsoft Outlook 2002

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

Объекты 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.

Метод Назначение
CopyТо Копирует текущую папку (полностью) в указанную папку. Возвращает 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.

Резюме

В этой главе было рассказано об объектных моделях Office, Outlook и VBA. Объектные модели состоят из взаимосвязанных объектов и семейств, предназначенных для программного управления приложением. Здесь было дано подробное описание верхнего уровня объектной модели Outlook, позволяющей управлять приложением, а также приведены небольшие примеры использования каждой из описанных моделей.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.