共用方式為


Outlook) (PropertyAccessor.SetProperty 方法

會將 SchemaName 指定的屬性設定為 Value 指定的值。

語法

expressionSetProperty( _SchemaName_ , _Value_ )

表達 代表 PropertyAccessor 物件的變數。

參數

名稱 必要/選用 資料類型 描述
SchemaName 必要 字串 屬性的名稱,其值將設定為 Value 參數所指定。 此屬性是依命名空間參照。 如需詳細資訊,請參閱依命名空間參照屬性
必要 Variant 要為 SchemaName 參數所指定之屬性設定的值。

註解

如果屬性不存在,而且 SchemaName 包含有效的屬性規範,則 SetProperty 就會建立屬性並指派 Value 指定的值。 如果屬性存在,而且 SchemaName 有效,則 SetProperty 就會將 Value 指定的值指派給屬性。

請注意,自訂檢視不支援使用 PropertyAccessor 建立的自訂屬性。 如果您想要檢視專案上的自訂屬性,請使用UserProperties物件的Add方法來建立屬性。

如果 PropertyAccessor 的父物件支援明確的 Save 作業,則應使用明確的 Save 方法呼叫將屬性儲存至物件。 如果物件不支援明確的 Save 作業,在呼叫 SetProperties 時,屬性會儲存至物件。

請特別小心,務必正確處理所有的例外狀況。 設定屬性失敗的狀況包括:

  • 因為部分 Outlook 及 MAPI 屬性為唯讀,因此該屬性為唯讀屬性。

  • 找不到指定的命名空間所參照的屬性。

  • 指定屬性的格式無效而且無法剖析。

  • 該屬性不存在而且無法建立。

  • 該屬性存在但傳遞錯誤類型的值。

  • 因為用戶端為離線狀態,因此無法開啟該屬性。

  • 屬性是使用 UserProperties.Add 方法所建立。 第一次設定屬性時,您必須使用UserProperty.Value屬性,而不是PropertyAccessor物件的SetPropertiesSetProperty方法。

如需使用 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 支援與意見反應