Объектная модель 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, позволяющей управлять приложением, а также приведены небольшие примеры использования каждой из описанных моделей.