Compartilhar via


Objeto PropertyAccessor (Outlook)

Oferece a capacidade de criar, obter, definir e excluir propriedades nos objetos.

Comentários

Use o objeto PropertyAccessor para obter e definir propriedades de nível de item que não estejam explicitamente expostas no modelo de objeto do Outlook ou propriedades para os seguintes objetos não-item: AddressEntry, AddressList, Attachment, ExchangeDistributionList, ExchangeUser, pasta, Recipient e Store.

Para obter ou definir várias propriedades personalizadas, use o objeto PropertyAccessor, em vez do objeto UserProperties para um melhor desempenho.

Para obter mais informações sobre como usar o objeto PropertyAccessor, consulte Visão geral de propriedades.

Exemplo

O exemplo de código a seguir demonstra como usar o método Propertyaccessor para ler uma propriedade MAPI que pertence a um MailItem mas que não está exposta no modelo de objeto do Outlook, PR_TRANSPORT_MESSAGE_HEADERS.

Sub DemoPropertyAccessorGetProperty() 
 
 Dim PropName, Header As String 
 
 Dim oMail As Object 
 
 Dim oPA As Outlook.PropertyAccessor 
 
 'Get first item in the inbox 
 
 Set oMail = _ 
 
 Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 
 'PR_TRANSPORT_MESSAGE_HEADERS 
 
 PropName = "http://schemas.microsoft.com/mapi/proptag/0x007D001E" 
 
 'Obtain an instance of PropertyAccessor class 
 
 Set oPA = oMail.PropertyAccessor 
 
 'Call GetProperty 
 
 Header = oPA.GetProperty(PropName) 
 
 Debug.Print (Header) 
 
End Sub

O próximo exemplo de código demonstra como o método propertyaccessor. SetProperties define os valores de várias propriedades. Se não existir uma propriedade, SetProperties criará a propriedade desde que o objeto pai suporta a criação dessas propriedades. Se o objeto suporta explícito operação Salvar e, em seguida, as propriedades são salvas ao objeto quando o explícitas operação Save é chamada. Se o objeto não dá suporte explícito operação Salvar, em seguida, as propriedades são salvas ao objeto quando SetProperties é chamado.

Sub DemoPropertyAccessorSetProperties() 
 
 Dim PropNames(), myValues() As Variant 
 
 Dim arrErrors As Variant 
 
 Dim prop1, prop2, prop3, prop4 As String 
 
 Dim i As Integer 
 
 Dim oMail As Outlook.MailItem 
 
 Dim oPA As Outlook.PropertyAccessor 
 
 'Get first item in the inbox 
 
 Set oMail = _ 
 
 Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 
 'Names for properties using the MAPI string namespace 
 
 prop1 = "http://schemas.microsoft.com/mapi/string/" & _ 
 
 "{FFF40745-D92F-4C11-9E14-92701F001EB3}/mylongprop" 
 
 prop2 = "http://schemas.microsoft.com/mapi/string/" & _ 
 
 "{FFF40745-D92F-4C11-9E14-92701F001EB3}/mystringprop" 
 
 prop3 = "http://schemas.microsoft.com/mapi/string/" & _ 
 
 "{FFF40745-D92F-4C11-9E14-92701F001EB3}/mydateprop" 
 
 prop4 = "http://schemas.microsoft.com/mapi/string/" & _ 
 
 "{FFF40745-D92F-4C11-9E14-92701F001EB3}/myboolprop" 
 
 PropNames = Array(prop1, prop2, prop3, prop4) 
 
 myValues = Array(1020, "111-222-Kudo", Now(), False) 
 
 'Set values with SetProperties call 
 
 'If the properties don't exist, then SetProperties 
 
 'adds the properties to the object when saved. 
 
 'The type of the property is the type of the element 
 
 'passed in myValues array. 
 
 Set oPA = oMail.PropertyAccessor 
 
 arrErrors = oPA.SetProperties(PropNames, myValues) 
 
 If Not (IsEmpty(arrErrors)) Then 
 
 'Examine the arrErrors array to determine if any 
 
 'elements contain errors 
 
 For i = LBound(arrErrors) To UBound(arrErrors) 
 
 'Examine the type of the element 
 
 If IsError(arrErrors(i)) Then 
 
 Debug.Print (CVErr(arrErrors(i))) 
 
 End If 
 
 Next 
 
 End If 
 
 'Save the item 
 
 oMail.Save 
 
End Sub

Métodos

Nome
BinaryToString
DeleteProperties
DeleteProperty
GetProperties
GetProperty
LocalTimeToUTC
SetProperties
SetProperty
StringToBinary
UTCToLocalTime

Propriedades

Nome
Aplicativo
Classe
Responsável
Sessão

Confira também

Propriedade de referência do modelo de objetooutlookAccessor Membros do objeto

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.