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