Прочитать на английском

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


Объект 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 и обратная связь.