PropertyAccessor.SetProperty メソッド (Outlook)

SchemaName で指定したプロパティを、Value で指定した値に設定します。

構文

expression. SetProperty( _SchemaName_ , _Value_ )

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

パラメーター

名前 必須 / オプション データ型 説明
Schemaname 必須 String Value パラメーターで指定された値を設定するプロパティの名前。 プロパティは名前空間で参照されます。 詳細については、「名前空間でプロパティを参照する」を参照してください。
必須 バリアント型 SchemaName パラメーターで指定されたプロパティに設定する値。

注釈

プロパティが存在せず、 SchemaName に有効なプロパティ指定子が含まれている場合は、 SetProperty によって プロパティが作成され、 Value で指定された値が割り当てられます。 プロパティが存在し、 SchemaName が有効な場合、 SetPropertyValue で指定された値を持つプロパティを割り当てます。

PropertyAccessor を使用して作成されたカスタム プロパティは、ユーザー設定のビューに表示されません。 アイテムのカスタム プロパティを表示するには、 UserProperties オブジェクトの Add メソッドを使用してプロパティを作成します。

PropertyAccessor の親オブジェクトが明示的なサポートしている場合にオブジェクトを 保存 するの明示的な Save 操作では、[プロパティを保存するメソッドの呼び出しです。 オブジェクトがサポートしていない場合、明示的な Save 操作では、[プロパティが SetProperties が呼び出されたときにオブジェクトに保存されます。

すべての例外が正しく処理されるように十分注意してください。 プロパティの値の設定が失敗するのは、次のような場合です。

  • プロパティが読み取り専用の場合。Outlook や MAPI の一部のプロパティは、値の取得のみ可能です。

  • 指定した名前空間で参照されるプロパティが見つからない場合。

  • プロパティが無効な形式で指定されており、解析できない場合。

  • プロパティが存在せず、作成もできない場合。

  • プロパティは存在するが、誤った種類の値を渡された場合。

  • クライアントがオフラインでプロパティを開けない場合。

  • プロパティは、 UserProperties.Add メソッドを使用して作成されます。 プロパティを初めて設定するときは、PropertyAccessor オブジェクトの SetProperties メソッドまたは SetProperty メソッドの代わりに UserProperty.Value プロパティを使用する必要があります。

PropertyAccessor オブジェクトを使用してプロパティを設定する方法の詳細については、「プロパティを取得および設定するためのベスト プラクティス」を参照してください。

次のコード サンプルでは、 PropertyAccessor を使用して値を MailItemオブジェクトにカスタム プロパティを設定する方法を示します。 カスタム プロパティが存在しない場合、 PropertyAccessor.SetProperty は作成し、プロパティを設定します。 プロパティは MailItem.Save メソッドを使用して保存されます。

Sub DemoPropertyAccessorSetProperty() 
 Dim myProp As String 
 Dim myValue As Variant 
 Dim oMail As Outlook.MailItem 
 Dim oPA As Outlook.PropertyAccessor 
 'Get first item in the inbox 
 Set oMail = _ 
 Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 'Name for custom property using the MAPI string namespace 
 myProp = "http://schemas.microsoft.com/mapi/string/" & _ 
 "{FFF40745-D92F-4C11-9E14-92701F001EB3}/myCustomer" 
 myValue = "Dan Wilson" 
 'Set value with SetProperty call 
 'If the property does not exist, then SetProperty 
 'adds the property to the object when saved. 
 'The type of the property is the type of the element 
 'passed in myValue. 
 On Error GoTo ErrTrap 
 Set oPA = oMail.PropertyAccessor 
 oPA.SetProperty myProp, myValue 
 
 'Save the item 
 oMail.Save 
 Exit Sub 
ErrTrap: 
 Debug.Print Err.Number, Err.Description 
End Sub

関連項目

PropertyAccessor オブジェクト

サポートとフィードバック

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