Объект Table (Outlook)
Представляет набор данных элемента из объекта Folder или Search с элементами в виде строк таблицы, а свойства — столбцами таблицы.
Таблица представляет динамический набор строк, доступный только для чтения, в объекте Folder или Search. Используйте Folder.GetTable или Search.GetTable , чтобы получить объект Table , представляющий набор элементов в папке или папке поиска. Если объект Table получен из Folder.GetTable, можно дополнительно указать фильтр (в Table.Restrict), чтобы получить подмножество элементов в папке. Если не указать фильтр, вы получите все элементы в папке.
По умолчанию каждый элемент возвращаемой таблицы содержит только подмножество свойств по умолчанию. Каждую строку таблицы можно рассматривать как элемент в папке, каждый столбец — как свойство элемента, а таблицу — как упрощенный набор строк в памяти, который позволяет быстро перечислять и фильтровать элементы в папке. Хотя добавление и удаление базовой папки отражаются строками в таблице, таблица не поддерживает никаких событий для добавления, изменения и удаления строк. Если требуется записываемый объект из строки Table , получите идентификатор записи для этой строки из столбца EntryID по умолчанию в таблице , а затем используйте метод GetItemFromID объекта NameSpace , чтобы получить полный элемент, например MailItem или ContactItem, поддерживающий операции чтения и записи. Дополнительные сведения о столбцах по умолчанию в таблице см. в разделе Свойства по умолчанию, отображаемые в объекте таблицы.
Дополнительные сведения об объекте Table см. в разделе Перечисление, поиск и фильтрация элементов в папке.
В следующем примере кода показано, как объект Table может возвращать отфильтрованный набор элементов на основе их свойства LastModificationTime . Здесь также показано, как вывести список свойств по умолчанию, а также конкретных свойств элементов.
Sub DemoTable()
'Declarations
Dim Filter As String
Dim oRow As Outlook.Row
Dim oTable As Outlook.Table
Dim oFolder As Outlook.Folder
'Get a Folder object for the Inbox
Set oFolder = Application.Session.GetDefaultFolder(olFolderInbox)
'Define Filter to obtain items last modified after May 1, 2005
Filter = "[LastModificationTime] > '5/1/2005'"
'Restrict with Filter
Set oTable = oFolder.GetTable(Filter)
'Remove all columns in the default column set
oTable.Columns.RemoveAll
'Specify desired properties
With oTable.Columns
.Add ("Subject")
.Add ("LastModificationTime")
'PR_ATTR_HIDDEN referenced by the MAPI proptag namespace
.Add ("http://schemas.microsoft.com/mapi/proptag/0x10F4000B")
End With
'Enumerate the table using test for EndOfTable
Do Until (oTable.EndOfTable)
Set oRow = oTable.GetNextRow()
Debug.Print (oRow("Subject"))
Debug.Print (oRow("LastModificationTime"))
Debug.Print (oRow("http://schemas.microsoft.com/mapi/proptag/0x10F4000B"))
Loop
End Sub
Справочник по объектной модели Outlook для элементов объектов таблицы
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.