Outlook 提供數種方式來取得屬性的值。
Object.Property | UserProperty.Value | ItemProperty.Value | PropertyAccessor.GetProperty | PropertyAccessor.GetProperties | |
---|---|---|---|---|---|
動作 | 取得指定的明確內建屬性值。 | 取得指定之自訂專案層級屬性的值。 如果屬性不存在,則不會進行任何動作。 | 取得指定的內建或自訂專案層級屬性的值,前提是 屬性不是封鎖的屬性。 如果屬性不存在,則不會進行任何動作。 | 取得 物件,這個物件表示 SchemaName所指定之屬性的值,前提是屬性不是封鎖的屬性。 如果屬性不存在,則會傳回錯誤。 | 如果屬性不是封鎖的屬性,就取得 SchemaNames 中的每個屬性,並將屬性值放入變異陣列中的對應元素。 當 PropertyAccessor.GetProperties 取得 SchemaNames 中的所有屬性值時,會傳回含有屬性值的變異陣列。 否則會傳回陣列中的錯誤。 |
適用的物件 | Outlook 物件模式中的所有物件。 | 所有 Outlook 專案物件 ,包括 Office 檔專案 (DocumentItem 物件) 。 | 所有 Outlook 專案物件,包括 Office 檔專案 (DocumentItem 物件) 。 | 使用 ItemProperty 取得明確的內建專案層級屬性。 針對沒有明確名稱、自訂屬性或下列任何物件之屬性的專案層級屬性,請使用 PropertyAccessor.GetProperty : AddressEntry、 AddressList、 Attachment、 ExchangeDistributionList、 ExchangeUser、 Folder、 Recipient和 Store。 | 與 GetProperty 欄中所述的物件相同。 |
屬性類型支援 | 依照 Outlook 物件模式中所指定的方式。 | 傳回 Variant 物件。 | 傳回 Variant 物件。 | 所傳回的物件類型會與 SchemaName 所指定的屬性類型相同。 如果您需要將原始屬性類型轉換成 MAPI) 中 PT_BINARY 的字串 (,或 () 的當地時間 PT_SYSTIME ( ,請使用 PropertyAccessor 協助程式方法 PropertyAccessor.UTCToLocalTime 或 PropertyAccessor.BinaryToString。 PropertyAccessor不支援某些 MAPI 屬性類型,例如PT_OBJECT,而嘗試取得此類型屬性的值會傳回「不支援屬性作業」錯誤。 | 因為每個值的類型必須與 SchemaNames 中對應的屬性類型相同,所以屬性類型支援與 GetProperty 欄相同。 結果陣列中會傳回任何包括類型不相符的錯誤。 |
安全性 | 根據預設,在執行 Microsoft Office Outlook 2007 或更新版本且未適當設定防毒軟體的用戶端電腦上,當未受信任的程式碼試圖存取受保護的屬性時,會收到通訊錄安全性警告。 | 受信任和不受信任的程式碼可以使用 UserProperty 物件。 根據預設,在執行 Office Outlook 2007 或更新版本且未適當設定防毒軟體的用戶端電腦上,當未受信任的程式碼試圖使用 UserProperty 物件來存取受保護的屬性時,會收到通訊錄安全性警告。 | 受信任和不受信任的程式碼可以使用 ItemProperty 物件。 根據預設,在執行 Office Outlook 2007 或更新版本且未適當設定防毒軟體的用戶端電腦上,當未受信任的程式碼試圖使用 ItemProperty 物件來存取受保護的屬性時,會收到通訊錄安全性警告。 | 在沒有適當設定防毒軟體的用戶端電腦上,嘗試存取專案物件 之 PropertyAccessor 屬性的不受信任程式碼預設會叫用通訊錄安全性警告。 | 與 GetProperty 欄中的安全性考量相同。 |
效能 | 無效能負荷。 只要屬性是明確的內建屬性,都會使用此項目。 | 無效能負荷。 只要屬性是在項目層級的自訂屬性,都會使用此物件。 | 無效能負荷。 只要屬性是自訂項目層級屬性,都會使用此物件。 | 使用 PropertyAccessor 存取屬性會過度耗用效能。 如需設定多個屬性,請使用 PropertyAccessor.GetProperties,而非重複的 PropertyAccessor.GetProperty。 | 使用 PropertyAccessor 存取屬性會過度耗用效能。 若要設定多個屬性,請使用 GetProperties,而非重複的 GetProperty。 |
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。