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
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。