ViewFields.Add 方法 (Outlook)

将指定字段添加到视图的 ViewFields 集合的末尾。

语法

表达式添加 (PropertyName)

表达 一个代表 ViewFields 对象的变量。

参数

名称 必需/可选 数据类型 说明
PropertyName 必需 String 要与新对象关联的属性的名称。 可以通过字段选择器) 中显示的字段名称 (或由 ViewField.ViewXMLSchemaName) 表示的命名空间 (引用此属性。

返回值

表示新视图字段的 ViewField 对象。

备注

若要以编程方式向视图中添加自定义字段,使用 ViewFields.Add 方法。 这是推荐使用的方法动态地改变对 View 对象的 XML 属性设置的视图。

要通过字段名称引用 PropertyName 中的属性,需要相应区域设置中的本地化名称。 有关通过命名空间引用属性的详细信息,请参阅通过命名空间引用属性

如果要向 ViewFields 集合添加自定义属性,该属性必须存在于 View 的父文件夹的 UserDefinedProperties 集合中。

如果 ViewFields 集合中已存在该属性,则 Outlook 将引发错误。

无法将某些属性添加到视图中使用 ViewFields.Add ,包括二进制属性、 计算的属性和 HTML 或 rtf 格式的正文内容。 有关详细信息,请参阅 Table 对象或 Table 筛选器中不受支持的属性

示例

下面的代码示例在 Microsoft Visual Basic for Applications (VBA) 将主题字段添加到当前视图中的字段名称引用它的收件箱。 为避免引发错误的 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 中的下列代码示例假定当前视图是 ,通过命名空间引用的邮件类属性并将其添加到当前文件夹的当前视图。 为避免引发错误的 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。