Filtrar un campo personalizado
Puede especificar propiedades personalizadas en los filtros utilizando la sintaxis Microsoft Jet o DASL (DAV Searching and Locating). Las propiedades personalizadas se deben definir en la carpeta a la que se vaya a aplicar el filtro. Si sólo se definen en el elemento, la búsqueda no se realizará.
Consultas Jet
El nombre de las propiedades personalizadas puede contener espacios. En una consulta Jet, al igual que en todas las referencias a nombres de propiedades, basta con colocar el nombre de la propiedad personalizada entre corchetes. Por ejemplo, la siguiente consulta Jet recupera todos los contactos en que la propiedad personalizada “Preferred Gift” es exactamente “Diamonds”. Para que la consulta se realice correctamente, la propiedad personalizada denominada "Preferred Gift" se ha definido en la carpeta que contiene los elementos de contacto personalizados:
criteria = "[Preferred Gift] = 'Diamonds'"
Consultas DASL
En una consulta DASL, si el nombre de una propiedad personalizada contiene espacios, deberá aplicar la codificación URL (Uniform Resource Locator) a todos los caracteres de espacios y sustituirlos por "%20". En general, la codificación de direcciones URL se aplica de la misma manera a los caracteres de una consulta DASL que en una dirección URL.
Al construir una consulta DASL para una propiedad personalizada, es preciso utilizar el espacio de nombres GUID para las propiedades personalizadas de Outlook con el formato siguiente:
https://schemas.microsoft.com/mapi/string/{GUID}/PropertyName
donde {GUID} es el GUID siguiente:
{00020329-0000-0000-C000-0000000046}
Filtrar propiedades personalizadas referenciadas por el espacio de nombres string de MAPI
Si la propiedad personalizada que está filtrando no existe en la colección UserDefinedProperties de la carpeta y si hace referencia a la propiedad personalizada mediante el espacio de nombres de cadena MAPI, debe anexar explícitamente un especificador de tipo a la representación de espacio de nombres de la propiedad personalizada. Tenga en cuenta que solo debe especificar el tipo al aplicar un filtro DASL para buscar y filtrar puntos de entrada en la colección Items y el objeto Table , y en el método Application.AdvancedSearch .
Nota El especificador de tipo hexagonal debe tener el formato 0000HHHH con solo 8 dígitos en lugar de 9. Para obtener más información sobre los especificadores de tipos hexagonales (HHHH) para varios tipos MAPI, vea Tipos de propiedad.
Por ejemplo, si desea usar Items.Restrict para buscar la propiedad de cadena Unicode personalizada denominada "MyProperty" y esta propiedad no existe en la colección UserDefinedProperties de la carpeta, debe anexar el especificador de tipo de cadena Unicode, 0000001f, a la representación de la propiedad en el espacio de nombres de cadena MAPI:
criteria = "@SQL=" & Chr$(34) & "https://schemas.microsoft.com/mapi/string/" _
& "{00020329-0000-0000-C000-000000000046}/MyProperty"_
& "/0000001f" & Chr(34) & " = '12-74440'"
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.