Метод TableView.GetTable (Outlook)
Возвращает объект Table , представляющий все элементы Microsoft Outlook, содержащиеся в объекте TableView .
Синтаксис
выражение. GetTable
Выражение Переменная, представляющая объект TableView .
Возвращаемое значение
Таблица, строки которой представляют элементы в текущем представлении таблицы.
Замечания
Метод GetTable объекта TableView возвращает таблицу элементов из одной или нескольких папок в одном хранилище или в агрегированном представлении. Например, агрегированное представление, полученное при поиске по всем элементам почты с помощью мгновенного поиска. Это поведение отличается от метода GetTable объекта Folder , который получает объект таблицы, содержащий элементы из той же папки.
Родительский объект TableView должен основываться на текущей папке активного обозревателя, как указано в свойстве CurrentFolder активного объекта explorer . Если папка не является текущей папкой видимого обозревателя или представление этой папки, указанное свойством Folder.CurrentView , не является табличным представлением, Outlook возвращает ошибку.
Фильтр для результирующей таблицы задается свойством Filter объекта TableView . Если свойство Filter объекта TableView не пусто, GetTable возвращает объект Table со строками, представляющими отфильтрованное подмножество элементов, доступных в представлении. Если впоследствии метод Table.Restrict вызывается для результирующей таблицы, применение метода Restrict эквивалентно логической операции AND с фильтром, представленным TableView.Filter.
GetTable возвращает таблицу с набором столбцов по умолчанию. GetTable не возвращает таблицу , содержащую столбцы для каждого поля в коллекции ViewFields текущего представления. Дополнительные сведения о наборе столбцов по умолчанию таблицы на основе типа папки см. в разделе Свойства по умолчанию, отображаемые в объекте table. Чтобы изменить набор столбцов по умолчанию, используйте методы Add, Remove или RemoveAll объекта коллекции Columns . Свойства, которые нельзя добавить в таблицу в виде столбцов, перечислены в разделе Неподдерживаемые свойства объекта таблицы или фильтра таблицы.
Порядок строк в результирующей таблице не гарантируется таким же, как порядок элементов в текущем представлении, на котором основана таблица GetTable . Например, GetTable не возвращает таблицу со строкой, представляющей заголовок group-by в представлении. Чтобы отсортировать строки в таблице, возвращенной из GetTable, используйте метод Sort объекта Table .
Родительским объектом объекта Table , возвращенного GetTable , является объект TableView . Родительским объектом объекта TableView является коллекция Views , а родительским объектом коллекции Views является объект Folder .
Пример
Следующий пример управляемого кода написан на C#. Для запуска примера управляемого кода для .NET Framework, который вызывает модель COM, необходимо использовать сборку взаимодействия, которая определяет и сопоставляет управляемые интерфейсы с объектами COM в библиотеке типов объектной модели. Для Outlook можно использовать Visual Studio и первичную сборку взаимодействия Outlook (PIA). Перед запуском примеров управляемого кода для Outlook 2013 убедитесь, что вы установили Outlook 2013 PIA и добавили ссылку на компонент Microsoft Outlook 15.0 Object Library в Visual Studio. В классе надстройки ThisAddIn
Outlook следует использовать следующий код (с помощью средств разработчика Office для Visual Studio). Объект Application в коде должен быть доверенным объектом Application Outlook, предоставленным объектом ThisAddIn.Globals
. Дополнительные сведения об использовании Outlook PIA для разработки управляемых решений Outlook см. в статье Справочник по основной сборке взаимодействия Outlook на веб-сайте MSDN.
В следующем примере кода объект Table получается из текущего представления папки "Входящие". В примере кода в текущей папке активного обозревателя устанавливается папка "Входящие", а затем проверяется, является ли текущее представление папки "Входящие" табличным. После проверки этих двух условий пример кода вызывает метод TableView.GetTable и отображает каждый элемент, представленный каждой строкой в возвращаемой таблице.
private void DemoViewGetTable()
{
// Obtain the Inbox folder.
Outlook.Folder inbox =
Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderInbox)
as Outlook.Folder;
// Set ActiveExplorer.CurrentFolder to Inbox.
// Inbox must be the current folder
// for TableView.GetTable to work correctly.
Application.ActiveExplorer().CurrentFolder = inbox;
// Ensure that the current view is a table view.
if (inbox.CurrentView.ViewType ==
Outlook.OlViewType.olTableView)
{
Outlook.TableView view =
inbox.CurrentView as Outlook.TableView;
// No arguments are needed for View.GetTable.
Outlook.Table table = view.GetTable();
Debug.WriteLine("View Count="
+ table.GetRowCount().ToString());
while (!table.EndOfTable)
{
// First row in Table.
Outlook.Row nextRow = table.GetNextRow();
Debug.WriteLine(nextRow["Subject"]
+ " Modified: "
+ nextRow["LastModificationTime"]);
}
}
}
См. также
Поиск и получение элементов в агрегированном представлении
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.