Compartir a través de


Método PropertyAccessor.GetProperties (Outlook)

Obtiene los valores de las propiedades especificadas por la matriz unidimensional SchemaNames.

Sintaxis

expresión. GetProperties( _SchemaNames_ )

Expresión Variable que representa un objeto PropertyAccessor .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Schemanames Obligatorio Variant Matriz que contiene los nombres de las propiedades cuyos valores se van a devolver. El espacio de nombres hace referencia a estas propiedades. Para obtener más información, vea Hacer referencia a propiedades por espacio de nombres.

Valor devuelto

Valor de tipo Variant que representa una matriz de valores de las propiedades especificadas en el parámetro SchemaNames. El número de elementos de la matriz devuelta equivale al número de elementos de la matriz SchemaNames. Si se produce un error al obtener una propiedad específica, se devolverá el valor de Err en la ubicación correspondiente en la matriz devuelta.

Comentarios

La matriz devuelta por GetProperties puede contener elementos de distintos tipos, según el tipo de la propiedad solicitada. El tipo de elemento de la matriz devuelto por GetProperties será el mismo que el tipo de la propiedad subyacente. Ciertos tipos de propiedades sin procesar como pt Object no son compatibles y provocan un error. Si necesita la conversión del tipo de propiedad sin procesar, por ejemplo, de PT_BINARY a una cadena o de PT_SYSTIME a una hora local, use los métodos auxiliares PropertyAccessor.BinaryToString y PropertyAccessor.UTCToLocalTime.

Para obtener más información sobre cómo obtener propiedades mediante el objeto PropertyAccessor , vea Procedimientos recomendados para obtener y establecer propiedades.

Ejemplo:

El siguiente ejemplo de código muestra cómo utilizar el objeto PropertyAccessor para obtener las propiedades MAPI que no se exponen en un elemento de Outlook, es decir: PR_SUBJECT, PR_ATTR_HIDDEN, PR_ATTR_READONLY y PR_ATTR_SYSTEM. Este ejemplo de código utiliza el método GetProperties para recuperarlos en una sola llamada, especificando una matriz de referencias de espacio de nombres a estas propiedades y obtiene una matriz devuelta que contiene el valor sin formato para cada propiedad.

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

Consulte también

Objeto PropertyAccessor

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.