Вы находитесь на правом проспекте.Существует разница между представлением и коллекцией Items
, которую вы пытаетесь использовать в коде.
Чтобы применить фильтр к пользовательскому интерфейсу, необходимо использовать следующую последовательность вызовов свойств и методов:
Explorer.CurrentView.SortFields
Свойство CurrentView класса Explorer или Folder возвращает объект, представляющий текущее представление.Объект View позволяет создавать настраиваемые представления, которые позволяют лучше сортировать, группировать и в конечном итоге просматривать данные всех типов.Существует множество различных типов представлений, которые обеспечивают гибкость, необходимую для создания и обслуживания ваших важных данных.Представления определяются и настраиваются с использованием свойства XML
объекта View.Свойство XML
позволяет создавать и настраивать настраиваемую схему XML, которая определяет различные функции представления.
Свойство View.Filter возвращает или задает строковое значение, представляющее фильтр для представления.Значением этого свойства является строка в синтаксисе поиска и локализации DAV (DASL), которая представляет текущий фильтр для представления.Для получения дополнительной информации об использовании синтаксиса DASL для фильтрации элементов в представлении см. Фильтрация элементов .
Кроме того, вы можете привести объект View
к TableView
и использовать его свойства дляобнаружение механизмов сортировки.Свойство SortFields возвращает объект OrderFields , представляющий набор полей, по которым упорядочиваются элементы, отображаемые в объекте TableView
.
Итак, вы можете применить полученный фильтр к коллекции Items
, чтобы получить правильный порядок.Или наоборот, чтобы установить порядок в пользовательском интерфейсе Outlook.
Private Sub FilterViewToLastWeek()
Dim objView As View
' Obtain a View object reference to the current view.
Set objView = Application.ActiveExplorer.CurrentView
' Set a DASL filter string, using a DASL macro, to show
' only those items that were received last week.
objView.Filter = "%lastweek(""urn:schemas:httpmail:datereceived"")%"
' Save and apply the view.
objView.Save
objView.Apply
End Sub
Наконец, я бы предложил наблюдать свойство View.XML , которое возвращает или задает значение String, которое определяетXML-определение текущего представления.Определение XML описывает тип представления с использованием ряда тегов и ключевых слов, соответствующих различным свойствам самого представления.Когда представление создается, определение XML анализируется, чтобы отобразить параметры для нового представления.
Чтобы определить структуру XML при создании представлений, вы можете создать представление с помощью пользовательского интерфейса Outlook изатем вы можете получить свойство XML для этого представления.