Compartir a través de


Propiedades no compatibles en un objeto Table o un filtro Table

En este tema se muestran las propiedades que no se pueden agregar a un objeto Table ni utilizar en un filtro Table. Estas propiedades no se pueden agregar mediante Columns.Add ni se pueden especificar en un filtro utilizado por los métodos siguientes:

Propiedades En el objeto Table En el filtro Table Comentarios
Propiedades binarias Compatible No se admite Si se agrega una propiedad binaria a un objeto Table que hace referencia a su espacio de nombres, el valor de la propiedad en el objeto Table está en formato binario. Use Row.BinaryToString para convertir el valor en una cadena.
Propiedades del cuerpo, como Body, HTMLBody, https://schemas.microsoft.com/mapi/proptag/0x10130102
(para PidTagHtml) y https://schemas.microsoft.com/mapi/proptag/0x10090102 (para PidTagRtfCompressed)
La propiedad Body es compatible siempre que sólo se almacenen los primeros 255 bytes del valor en el objeto Table. Otras propiedades que representan el contenido de texto en HTML o RTF no son compatibles.
Dado que solo los primeros 255 bytes de Body se almacenan en una tabla, si desea obtener todo el contenido del cuerpo de un elemento en texto o HTML, use entryID del elemento en GetItemFromID para obtener el objeto item. Después, recupere el valor completo de Body a través del objeto de elemento.
Sólo la propiedad Body representada en texto es compatible con un archivo. Esto significa que se debe hacer referencia a la propiedad en un filtro DASL como urn:schemas:httpmail:textdescription y no se puede filtrar por ninguna etiqueta HTML del cuerpo. Para mejorar el rendimiento, utilice palabras clave de indizador de contexto en el filtro para que coincidan con cadenas en el cuerpo.
Propiedades calculadas, como AutoResolvedWinner y BodyFormat. A continuación encontrará una lista completa de propiedades calculadas. No compatibles No compatible Para obtener el valor de una propiedad calculada de un elemento de un objeto Table, utilice EntryID del elemento en GetItemFromID para obtener el objeto Item. A continuación, recupere el valor de propiedad a través del objeto item.
Propiedades con varios valores, como Categories, Children, Companies y VotingOptions Compatible Aunque tanto los filtros Jet como los DASL admiten propiedades de varios valores, utilice la indización de contenidos en los filtros DASL para aumentar la eficacia del filtrado. Para obtener más información, vea Filtrar elementos utilizando una comparación con una propiedad Keywords. El formato de los valores de una propiedad de varios valores de un objeto Table depende de si la propiedad se agregó con su nombre integrado explícito o con un nombre que haga referencia a su espacio de nombres. Si la propiedad se agrega con su nombre integrado explícito, el valor del objeto Table es una cadena delimitada por comas. De lo contrario, será una matriz Variant. Para obtener más información, vea Cómo: Obtener acceso a los valores de una propiedad de varios valores en una tabla.
Propiedades que devuelven un objeto, como Attachments, Parent, Recipients, RecurrencePattern y UserProperties. No compatibles si se hace referencia a la propiedad por su nombre integrado explícito; compatibles si se hace referencia a la propiedad por su espacio de nombres. No compatibles si se expresa la propiedad en una consulta Jet; compatibles si se expresa en una consulta DASL.

Propiedades calculadas no compatibles

Si intenta agregar una de las propiedades calculadas que se enumeran a continuación mediante Columns.Add, haciendo referencia a la propiedad por el nombre de la propiedad explícita o por espacio de nombres, obtendrá el error , IDS_ERR_BLOCKED_PROPERTY. Para determinar el valor de estas propiedades, obtenga el objeto item con su identificador de entrada y, a continuación, use el objeto item para determinar el valor de propiedad (como en object.property):

Si intenta usar una de las propiedades calculadas que se enumeran a continuación en un filtro Jet (que hace referencia a la propiedad por su nombre de propiedad explícito) para Table.Restrict, obtendrá el error IDS_ERR_ES_INVALIDRESTRICTION:

Nota Para una propiedad calculada como TaskSubject o IsMarkedAsTask, no se puede agregar a una tabla mediante Columns.Add o filtrarla mediante Table.Restrict, si hace referencia a la propiedad con el nombre de propiedad explícito. En cambio, se puede agregar o filtrar la propiedad si se hace referencia a ella por su espacio de nombres, como se muestra en el ejemplo siguiente de código de Visual Basic para Aplicaciones:

Sub TableForIsMarkedAsTask() 
    Dim oT As Outlook.Table 
    Dim oRow As Outlook.Row 
    Dim filter As String 
    '0x0E2B0003 represents IsMarkedAsTask 
    filter = "@SQL=" & Chr(34) _ 
    & "https://schemas.microsoft.com/mapi/proptag/0x0E2B0003" & Chr(34) & " = 1" 
    'Table only contains rows for items where IsMarkedAsTask is True 
    Set oT = Application.Session.GetDefaultFolder(olFolderInbox).GetTable(filter) 
    oT.Columns.Add ("TaskStartDate") 
    oT.Columns.Add ("TaskDueDate") 
    oT.Columns.Add ("TaskCompletedDate") 
    'Use GUID/ID to represent TaskSubject 
    oT.Columns.Add ( _ 
        "https://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/85A4001E") 
    Do Until oT.EndOfTable 
        Set oRow = oT.GetNextRow 
        Debug.Print oRow( _ 
        "https://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/85A4001E"), _ 
        oRow("TaskStartDate"), oRow("TaskDueDate"), oRow("TaskCompletedDate") 
    Loop 
End Sub

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.