Поделиться через


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

Методы

Имя
FindNextRow
FindRow
GetArray
GetNextRow
GetRowCount
MoveToStart
Restrict
Sort

Свойства

Имя
Application
Class
Columns
EndOfTable
Parent
Session

См. также

Справочник по объектной модели Outlook для элементов объектов таблицы

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.