Объектная модель 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 Thenit.Display(False) End IfEnd Ifnextitem: Next i End SubЗамечание
Для семейств Outlook нельзя воспользоваться оператором For Each Next, поэтому применяется цикл For… Count.
Резюме
В этой главе было рассказано об объектных моделях Office, Outlook и VBA. Объектные модели состоят из взаимосвязанных объектов и семейств, предназначенных для программного управления приложением. Здесь было дано подробное описание верхнего уровня объектной модели Outlook, позволяющей управлять приложением, а также приведены небольшие примеры использования каждой из описанных моделей.
