Создание представления
В этом примере показано использование метода Add(String, OlViewType, OlViewSaveOption) коллекции Views для создания представления для объекта Folder.
Пример
Примечание.
Приведенный ниже пример кода представляет собой фрагмент из книги Программирование приложений для Microsoft Office Outlook 2007.
Можно создавать настраиваемые представления, которые позволяют упорядочивать, группировать и просматривать данные всех типов в области просмотра окна проводника Outlook. Кроме того, можно программным образом настраивать встроенные представления. В следующей таблице приведены объекты, олицетворяющие представления Outlook.
Имя объекта |
Описание |
---|---|
Данные отображаются как ряд образов электронной визитной карточки. |
|
Данные отображаются в формате календаря. |
|
Данные отображаются как ряд карточек. |
|
Данные отображаются как значки папок Windows или значки проводника. |
|
Данные отображаются в простой таблице на основе полей. |
|
Данные отображаются на настраиваемой линейной временной шкале. |
Доступ к общим для всех представлений свойствам и методам можно получить с помощью объекта View. Однако для доступа к определенным свойствам, которые не являются общими для всех представлений, необходимо привести объект View к производному объекту View, которому принадлежит нужное свойство. Например, чтобы получить доступ к свойству HeadingsFont объекта Cardview приведите объект View к объекту Cardview. Если нужно определить, какой тип представления отображается определенным объектом View, используйте свойство ViewType.
Чтобы создать новое представление, используйте метод Add коллекции Views для объекта Folder. Затем установите параметры отображения для представления во время создания или в любой момент после создания представлении. Чтобы установить параметры отображения для представления во время создания, задайте константу OlViewSaveOption в параметре SaveOption метода Add. Чтобы установить параметры отображения в любой момент после создания представления, задайте константу OlViewSaveOption для свойства SaveOption объекта View.
Добавление нового представления создает событие ViewAdd в коллекции Views. После создания представления настройте его программным путем, приведя объект View к одному из производных объектов и сделав необходимые изменения. Используйте метод Save производного объекта View или объекта View, чтобы сохранить изменения в представлении. В конце используйте метод Apply производного объекта View или объекта View, чтобы применить представление к текущему объекту Explorer. При этом создается событие ViewSwitch объекта Explorer.
В представленном ниже примере кода CreateMeetingRequestsView добавляет новое представление с именем "Приглашения на собрания" в папку "Входящие" пользователя путем приведения объекта View к объекту TableView. Затем CreateMeetingRequestsView вызывает метод Add объекта Views с параметром Name, заданным как "Приглашения на собрания", и параметром ViewType, заданным как olTableView. Свойство Filter объекта TableView задано соответствующим строке DASL, что приводит к отображению представления только в том случае, если в классе сообщений для элемента имеются элементы, содержащие "IPM.Schedule". Новое представление затем сохраняется и применяется.
Если вы используете Visual Studio для тестирования этого примера кода, сначала добавьте ссылку на компонент Microsoft Outlook 15.0 Object Library и задайте переменную Outlook при импорте пространства имен Microsoft.Office.Interop.Outlook. Инструкция using не должна находиться непосредственно перед функциями в примере кода, но ее нужно добавить перед объявлением общедоступного класса. В следующей строке кода показано, как выполнить импорт и назначение в C#.
using Outlook = Microsoft.Office.Interop.Outlook;
private void CreateMeetingRequestsView()
{
const string PR_MESSAGE_CLASS =
"http://schemas.microsoft.com/mapi/proptag/0x001A001E";
Outlook.Views views =
Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderInbox).Views;
Outlook.TableView tableView = (Outlook.TableView)
views.Add("Meeting Requests",
Outlook.OlViewType.olTableView,
Outlook.OlViewSaveOption.olViewSaveOptionThisFolderEveryone);
tableView.Filter = "\"" + PR_MESSAGE_CLASS + "\"" +
" like 'IPM.Schedule%'";
tableView.Save();
tableView.Apply();
}