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
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。