Compartilhar via


Método PropertyAccessor.GetProperties (Outlook)

Obtém os valores das propriedades especificadas pela matriz unidimensional SchemaNames.

Sintaxe

expression. GetProperties( _SchemaNames_ )

Expressão Uma variável que representa um objeto PropertyAccessor .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
SchemaNames Obrigatório Variant Uma matriz que contém os nomes das propriedades cujos valores devem ser retornados. Essas propriedades são indicadas pelo namespace. Para obter mais informações, consulte Fazendo referência a propriedades por namespace.

Valor de retorno

Uma variante que representa uma matriz de valores das propriedades especificadas no parâmetro SchemaNames. O número de elementos na matriz retornada é igual ao número de elementos na matriz SchemaNames. Se ocorrer um erro para obtenção de uma propriedade específica, será retornado o valor de erro no local correspondente na matriz retornada.

Comentários

A matriz retornada por GetProperties pode conter elementos de tipos diferentes, dependendo do tipo da propriedade solicitada. O tipo de elemento de matriz retornado por GetProperties será o mesmo que o tipo da propriedade subjacente. Certos tipos de propriedade brutos como PT_OBJECT não são suportados e irá gerar um erro. Se você exigir a conversão do tipo de propriedade bruta, por exemplo, de PT_BINARY para uma cadeia de caracteres ou de PT_SYSTIME para uma hora local, use os métodos auxiliares PropertyAccessor.BinaryToString e PropertyAccessor.UTCToLocalTime.

Para obter mais informações sobre como obter propriedades usando o objeto PropertyAccessor , consulte Melhores Práticas para Obter e Definir Propriedades.

Exemplo

O exemplo de código a seguir mostra como usar o objeto PropertyAccessor para obter as propriedades MAPI que não são expostas em um item do Outlook, notadamente: PR_SUBJECT, PR_ATTR_HIDDEN, PR_ATTR_READONLY e PR_ATTR_SYSTEM. Este exemplo de código usa o método GetProperties recuperá-las em uma única chamada, especificando uma matriz de referências a namespace a essas propriedades e obtém uma matriz retornada que contém o valor bruto para cada propriedade.

Sub DemoPropertyAccessorGetProperties() 
 
 Dim PropNames() As Variant 
 
 Dim myValues As Variant 
 
 Dim i As Integer 
 
 Dim j As Integer 
 
 Dim oMail As Object 
 
 Dim oPA As Outlook.PropertyAccessor 
 
 
 
 'Get first item in the inbox 
 
 Set oMail = _ 
 
 Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 
 'PR_SUBJECT, PR_ATTR_HIDDEN, PR_ATTR_READONLY, PR_ATTR_SYSTEM 
 
 PropNames = _ 
 
 Array("http://schemas.microsoft.com/mapi/proptag/0x0037001E", _ 
 
 "http://schemas.microsoft.com/mapi/proptag/0x10F4000B", _ 
 
 "http://schemas.microsoft.com/mapi/proptag/0x10F6000B", _ 
 
 "http://schemas.microsoft.com/mapi/proptag/0x10F5000B") 
 
 'Obtain an instance of a PropertyAccessor object 
 
 Set oPA = oMail.PropertyAccessor 
 
 'Get myValues array with GetProperties call 
 
 myValues = oPA.GetProperties(PropNames) 
 
 For i = LBound(myValues) To UBound(myValues) 
 
 'Examine the type of the element 
 
 If IsError(myValues(i)) Then 
 
 'CVErr returns a variant of subtype error 
 
 Debug.Print (CVErr(myValues(i))) 
 
 ElseIf IsArray(myValues(i)) Then 
 
 propArray = myValues(i) 
 
 For j = LBound(propArray) To UBound(propArray) 
 
 Debug.Print (propArray(j)) 
 
 Next 
 
 ElseIf IsNull(myValues(i)) Then 
 
 Debug.Print ("Null value") 
 
 ElseIf IsEmpty(myValues(i)) Then 
 
 Debug.Print ("Empty value") 
 
 ElseIf IsDate(myValues(i)) Then 
 
 Debug.Print (oPA.UTCToLocalTime(myValues(i))) 
 
 'VB does not have IsBinary function 
 
 ElseIf VarType(myValues(i)) = vbByte Then 
 
 Debug.Print (oPA.BinaryToString(myValues(i))) 
 
 Else 
 
 Debug.Print (myValues(i)) 
 
 End If 
 
 Next 
 
End Sub

Confira também

Objeto PropertyAccessor

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.