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


Метод ViewFields.Add (Outlook)

Добавляет указанное поле в конец коллекции ViewFields для представления.

Синтаксис

expression. Add (PropertyName)

Выражение Переменная, представляющая объект ViewFields .

Параметры

Имя Обязательный или необязательный Тип данных Описание
PropertyName Обязательный String Имя свойства, с которым связан новый объект. На это свойство можно ссылаться по имени поля (отображается в выборе поля) или по пространству имен (представлено viewField.ViewXMLSchemaName).

Возвращаемое значение

Объект ViewField , представляющий новое поле представления.

Замечания

Чтобы программно добавить настраиваемое поле в представление, используйте метод ViewFields.Add . Это рекомендуемый способ динамического изменения представления при задании свойства XML объекта View .

Для ссылки на свойство в PropertyName по имени поля требуется локализованное имя в соответствующем языковом стандарте. Дополнительные сведения о ссылке на свойства по пространству имен см. в разделе Ссылка на свойства по пространству имен.

При добавлении настраиваемого свойства в коллекцию ViewFields свойство должно существовать в коллекции UserDefinedProperties родительской папки View.

Если свойство уже существует в коллекции ViewFields , Outlook вызовет ошибку.

Некоторые свойства нельзя добавить в представление с помощью ViewFields.Add, включая двоичные свойства, вычисляемые свойства и содержимое текста HTML или RTF. Дополнительные сведения см. в разделе Неподдерживаемые свойства в объекте таблицы или фильтре таблиц.

Пример

Следующий пример кода в Microsoft Visual Basic для приложений (VBA) добавляет поле Subject в текущее представление папки "Входящие", ссылаясь на него по имени поля. Чтобы избежать возникновения ошибки в Outlook, он проверяет наличие поля в коллекции ViewFields, представляющей текущее представление папки "Входящие", перед его добавлением.

Sub DemoViewFieldsAdd() 
 
 Dim oTableView As Outlook.TableView 
 
 Dim oViewFields As Outlook.ViewFields 
 
 Dim oViewField As Outlook.ViewField 
 
 Dim oInbox As Outlook.folder 
 
 
 
 Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox) 
 
 
 
 On Error GoTo Err_Handler 
 
 
 
 If oInbox.CurrentView.ViewType = olTableView Then 
 
 Set oTableView = oInbox.CurrentView 
 
 Set oViewField = oTableView.ViewFields("Subject") 
 
 If oViewField Is Nothing Then 
 
 Set oViewField = oTableView.ViewFields.Add("Subject") 
 
 End If 
 
 End If 
 
 Exit Sub 
 
 
 
Err_Handler: 
 
 MsgBox Err.Description, vbExclamation 
 
 Resume Next 
 
End Sub

В следующем примере кода в VBA предполагается, что текущее представление является TableView, ссылается на свойство Класса сообщений по пространству имен и добавляет его в текущее представление текущей папки. Чтобы избежать возникновения ошибки в Outlook, код проверяет наличие этого свойства в представлении перед вызовом ViewFields.Add.

Sub ViewFieldsAdd() 
 
 Dim oFolder As Outlook.Folder 
 
 Dim oView As Outlook.TableView 
 
 Dim oViewField As Outlook.ViewField 
 
 On Error Resume Next 
 
 Dim PR_MESSAGE_CLASS As String 
 
 PR_MESSAGE_CLASS = "http://schemas.microsoft.com/mapi/proptag/0x001a001e" 
 
 Set oFolder = Application.ActiveExplorer.CurrentFolder 
 
 If oFolder.CurrentView.ViewType = olTableView Then 
 
 Set oView = oFolder.CurrentView 
 
 'Determine if the ViewField exists in ViewFields collection 
 
 If oView.ViewFields(PR_MESSAGE_CLASS) Is Nothing Then 
 
 Set oViewField = oView.ViewFields.Add(PR_MESSAGE_CLASS) 
 
 'Persist the changes 
 
 oView.Save 
 
 End If 
 
 End If 
 
End Sub

См. также

Объект ViewFields

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

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