Outlook () 的 ViewFields.Add 方法
將指定的欄位新增至檢 視之 ViewFields 集合的結尾。
語法
運算式。新增 (PropertyName)
表達 代表 ViewFields 物件的 變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
PropertyName | 必要 | 字串 | 要與新物件相關聯之屬性的名稱。 在 [欄位選擇器]) 中顯示的功能變數名稱 (或 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 中的下列程式碼範例假設目前的檢視是 TableView、依命名空間參照 Message Class 屬性,並將其新增至目前資料夾的目前檢視。 為了避免 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 支援與意見反應。