ViewFields.Add メソッド (Outlook)

指定されたフィールドを、ビューの ViewFields コレクションの末尾に追加します。

構文

Add (PropertyName)

ViewFields オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
PropertyName 必須 String 新しいオブジェクトを関連付けるプロパティの名前を指定します。 このプロパティは、フィールド名 (Field Chooser に表示) または名前空間 ( 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 のサポートおよびフィードバックを参照してください。