Cambios en las propiedades personalizadas en Outlook

Resumen

Para garantizar el uso coherente de propiedades personalizadas, o campos, Service Pack 2 (SP2) de Microsoft Office Outlook 2003 y versiones posteriores de Outlook limitan algunas de las formas que se pueden introducir propiedades personalizadas en almacenes de datos de Outlook. Por ejemplo, pueden introducir propiedades personalizadas en las formas específicas en los archivos de carpetas personales (.pst) de Outlook.

INTRODUCCIÓN

Este artículo hace lo siguiente:
  • Proporciona información general sobre propiedades personalizadas.
  • Explica cómo se cambió el comportamiento de las propiedades personalizadas en el Service Pack 2 de Outlook 2003 y en versiones posteriores de Outlook.
  • Se describen algunos procedimientos recomendados para crear nuevas propiedades y algunos métodos que no se recomiendan.

Más información

Sobre las propiedades personalizadas

Propiedades personalizadas se utilizan programas de correo electrónico, como Outlook, para añadir más información a un mensaje. Normalmente, esta información adicional se utiliza un programa de correo electrónico para un propósito específico. Sin embargo, existen otras formas que se pueden utilizar las propiedades personalizadas. Por ejemplo, las propiedades personalizadas pueden agregarse a los mensajes o artículos si utiliza formularios personalizados de Outlook y los formularios contienen campos personalizados. Propiedades personalizadas se utilizan con frecuencia para agregar más información para realizar un seguimiento. Las propiedades personalizadas se utilizan también para agregar datos que un usuario no tiene que ver. Una solución personalizada también puede agregar propiedades personalizadas a elementos regulares. Una solución personalizada mediante programación agrega propiedades personalizadas a un mensaje o elemento sin necesidad de un formulario personalizado.

Las propiedades personalizadas pueden conservarse en el formato de archivo .msg y el formato de archivo .oft en Outlook. Además, las propiedades personalizadas pueden preservarse los mensajes que se envían a través de Internet si el remitente utiliza la opción Enviar usando formato de texto enriquecido de Outlook de correo electrónico. Esta opción encapsula la sección MAPI del mensaje en formato de encapsulación Neutral de transporte (TNEF) y, a continuación, se descodifica el TNEF cuando recibe el mensaje.

Un emisor puede enviar un correo electrónico que tiene propiedades personalizadas en las siguientes situaciones:
  • Se envía un formulario de uso único personalizado. En los formularios, el formulario está incrustado en el mensaje. El formulario no se publica en otra parte. Para obtener más información acerca de los formularios de uso único, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

    290657 descripción de las definiciones de formulario y formularios de uso único en Outlook 2002

  • Se envía un formulario personalizado publicado. En este caso, no se envía el formulario personalizado, porque el formulario no está incrustado en el mensaje. Sin embargo, cualquier propiedad personalizada que se utilizaron en el formulario todavía se incluye en el mensaje.
Nota: Hay muchas maneras de hacer referencia a propiedades personalizadas, dependiendo del contexto en el que se utilizan las propiedades personalizadas. En la interfaz de usuario de Outlook, como en el Selector de campos, las propiedades personalizadas se conocen como campos definidos por el usuario o como campos personalizados. En la biblioteca de objetos de Outlook, propiedades personalizadas pueden hacer referencia a como propiedades del usuario o como propiedades definidas por el usuario después de la colección UserProperties . En MAPI, campos personalizados se conocen como propiedades con nombre. MAPI proporciona una utilidad para hacer lo siguiente:
  • Asignar nombres a las propiedades
  • Asignar los nombres a los identificadores únicos
  • Hacer persistente la asignación
Para obtener más información acerca de cómo implementar propiedades con nombre en MAPI, visite el siguiente sitio Web de MSDN:

Nota: En un entorno de Exchange, el término "almacén de" como se utiliza en este artículo se refiere a un almacén de buzones completo (base de datos). El término no hace referencia al almacén del buzón de un usuario individual. Puede haber una o más bases de datos de la buzón de Exchange en una organización.

Cambios de comportamiento en Outlook

Se ha cambiado la implementación de MAPI de Outlook al control personalizado cómo se pueden crear propiedades. Para garantizar el uso coherente de propiedades personalizadas, las propiedades personalizadas ya deben utilizar en la organización o en el cliente de Outlook. Tan pronto como propiedades personalizadas se utilizan o están registradas, las propiedades personalizadas pueden transmitirse libremente a otros clientes de Outlook o a servidores que ejecutan Exchange Server. Las propiedades personalizadas también pueden enviarse a través de Internet.

Mensajes de correo electrónico suelen enviarse en formato MIME a través de Internet. Cuando Outlook recibe un mensaje de correo electrónico de Internet, el mensaje se convierte en una representación de MAPI. Los siguientes son ejemplos de protocolos de correo electrónico de Internet:
  • POP
  • IMAP
  • HTTP (Outlook.com)
De forma predeterminada, Outlook ya no permite el correo de Internet crear nuevas propiedades personalizadas. Se conservan sólo propiedades que ya están creadas en el almacén de entrega de correo predeterminada para los mensajes entrantes. Este cambio afecta principalmente a los mensajes que se envían en encapsulado TNEF (Winmail.dat), donde el remitente ha utilizado la opción Enviar usando formato de texto enriquecido de Outlook . Sin embargo, los mensajes de Internet que contienen propiedades de encabezado de mensaje de X también se ven afectados.

Nota: Mensajes que contienen propiedades personalizadas que se envían en una organización de Exchange no se ven afectados por estos cambios.

Propiedades personalizadas también pueden guardarse en archivos .msg y en archivos. oft. Si un usuario abre un archivo .msg que tiene propiedades personalizadas, esas propiedades personalizadas no se guardan en el almacén predeterminado cuando se guarda el mensaje, reenviar y así sucesivamente. Normalmente, se utilizan archivos de .oft para hacer copia de seguridad de formularios personalizados de Outlook. Con archivos .oft, el nuevo comportamiento se aplica a todas las clases de elementos. No se abrirá el formulario personalizado. En su lugar, el mensaje aparecerá en el formulario predeterminado de ese tipo de elemento determinado.

En resumen, este cambio de diseño puede causar ocurren dos cosas:
  • Outlook pasa por alto las propiedades personalizadas no existente. Si una propiedad personalizada no existe en el almacén de entrega, no se creará la propiedad y su valor se perderá. Si la propiedad personalizada ya existe en el almacén de entrega, se conserva su valor. Este cambio se aplica a la siguiente:
    • Mensajes de correo electrónico de Internet que tienen TNEF y sus mensajes incrustados.
    • Mensajes S/MIME.
    • archivos .msg cuando se coloca el archivo .msg en una ventana de elemento de Outlook para agregar el archivo a otro elemento. Este cambio también se aplica a archivos .msg colocar el archivo .msg en la ventana principal de Outlook para agregar el archivo a una carpeta o en la ventana de Microsoft Word cuando utiliza Word como editor de correo electrónico.
    • archivos .msg que un usuario hace doble clic o secundario del mouse para abrir.

  • Outlook pasa por alto la definición del formulario de uso único. Si un formulario de uso único especifica una propiedad personalizada y que la propiedad personalizada no existe en el almacén de entrega, no se representa el formulario de uso único. En su lugar, el usuario verá el formulario predeterminado de ese tipo de elemento determinado. Este cambio se aplica a mensajes de correo electrónico de Internet que contienen una definición de formulario de uso único se encapsula en TNEF. Este cambio también se aplica a archivos de .oft que un usuario hace doble clic o secundario del mouse para abrir.

Mejores prácticas y otras formas de crear nuevas propiedades

Hay una gran variedad de formas que puede diseñar y desarrollar soluciones personalizadas. Algunos de estos enfoques se consideran las mejores prácticas. También pueden funcionar otros enfoques, pero no es recomendable esos enfoques para uno o varios motivos.

Mejores prácticas: agregar campos personalizados mediante programación

Varias API pueden utilizarse para agregar mediante programación campos personalizados a los elementos. Para ello, use el método UserProperties.Add en la biblioteca de objetos de Outlook ("Outlook.Application"). El siguiente código ilustra esta práctica recomendada.
Set myProp = myItem.UserProperties.Add("MyPropName", olText)
También puede utilizar la biblioteca de objetos CDO ("MAPI. Sesión") para agregar campos personalizados. Para obtener más información, visite el siguiente sitio Web de MSDN:Para los desarrolladores de C++, puede utilizar MAPI extendido para agregar propiedades con nombre. Para obtener más información, visite el siguiente sitio Web de MSDN:

Mejores prácticas: uso publicó los formularios personalizados que contienen campos personalizados

Outlook confía en gran medida los formularios personalizados publicados. Sin embargo, Outlook no confía en formularios no publicados o formularios de uso único. Esto incluye archivos. oft. Por lo tanto, cuando se diseña una solución de formulario personalizado, se recomienda encarecidamente que publicar el formulario personalizado. Se debe diseñar el formulario para que el formulario no es un formulario de uso único. Siempre y cuando se publica un formulario, el formulario no se verán afectado por el cambio en Outlook.
Para obtener más información acerca de los formularios de uso único y formularios de uso único cómo pueden crearse accidentalmente, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

290657 descripción de las definiciones de formulario y formularios de uso único en Outlook 2002


Cuando publica un archivo .oft a otro almacén, el almacén predeterminado permite crear propiedades de dicho almacén. Además, cuando se crea un formulario personalizado que tiene propiedades personalizadas y publicarlo en la biblioteca de formularios apropiado o carpeta, se crean las propiedades personalizadas en los almacenes afectados.

Mejores prácticas: distribución mediante programación de formularios personalizados

Si está desarrollando un formulario personalizado de Outlook que se utilizará por otros, hay algunos enfoques que puede utilizar. El enfoque que se utiliza depende de varios factores. Estos factores incluyen el tipo de formulario, que se va a utilizar el formulario, donde se utilizará el formulario, y así sucesivamente. Normalmente, si va a utilizar un formulario personalizado por muchas personas, recomendamos que publique el formulario en la biblioteca de formularios organizativos. Sin embargo, si eso no es posible, es aconsejable publicar el formulario en una carpeta compartida o en la biblioteca de formularios personales de algunos usuarios. Puede instalar un formulario personalizado mediante programación utilizando el método CreateItemFromTemplate en la biblioteca de objetos de Outlook. Utilice el método CreateItemFromTemplate para abrir un archivo .oft y, a continuación, publique el formulario utilizando el método PublishForm . En este caso, un archivo .oft no se ve afectado por los cambios de propiedades personalizadas.

No se recomienda: distribuir o enviar archivos .oft para los usuarios que abran

Puede guardar formularios personalizados de Outlook como archivos. oft. Estos formularios pueden contener campos personalizados, los cambios en la interfaz de usuario y código personalizado de Microsoft Visual Basic Scripting Edition (VBScript) para agregar funcionalidad al formulario. Aunque Outlook ya contiene características que impiden que se ejecute el código de VBScript en los archivos de .oft, Outlook ahora también restringe el uso de los archivos. oft. Si un archivo .oft contiene propiedades personalizadas y el usuario no ha utilizado previamente las propiedades personalizadas, las propiedades personalizadas no están en el almacén del usuario predeterminado. Outlook no representará el formulario personalizado cuando el usuario hace doble clic en el archivo. Sin embargo, para que Outlook abra un formulario personalizado que se almacena como un archivo .oft, haga clic en archivo, haga clic en nuevoy, a continuación, haga clic en Elegir formulario. Puede, a continuación, cambiar la ubicación para las Plantillas del usuario en el sistema de archivosy, a continuación, haga clic en Examinar para abrir el archivo. oft. Se abrirá el formulario, y se pueden guardar las propiedades personalizadas en el almacén predeterminado.

No se recomienda: utilizar la clave de registro AllowNamedProps

Algunas organizaciones pueden tener motivos válidos para tener algunas propiedades personalizadas disponibles en la organización. Si se utilizan varios almacenes, desea asegurarse de que un conjunto de propiedades personalizadas puede agregarse a todos los almacenes. Por lo tanto, Outlook 2003 SP2 y versiones posteriores admiten claves de registro del cliente que especifican qué propiedades personalizadas se pueden crear. Para especificar qué propiedades personalizadas se deben habilitar, propiedades personalizadas se definen bajo la siguiente clave del registro: \Outlook\AllowedNamedProps\ HKEY_CURRENT_USER\Software\Microsoft\Office\ < versión >

Nota: En esta clave del registro, <versión> es un marcador de posición para la versión de Outlook que está utilizando. En Outlook 2003, el número de versión es 11.0. Para Outlook 2007, el número de versión es 12.0. Se aumentará el número de versión en las versiones posteriores de Outlook.

Es la estructura general de clave de registro para una entrada en el registro:

<GUID>
<Nombre de la propiedad>
"Tipo" (dword)

"ID" (dword)
"Tipo" (dword)
Se utilizan los siguientes marcadores de posición en la estructura de clave del registro:
  • <GUID>: contiene el GUID que especifica el conjunto de propiedades. Campos personalizados de Outlook o propiedades, que se utilizan en un formulario personalizado de Outlook todos con el GUID {00020329-0000-0000-C000-000000000046}. En MAPI, el GUID se conoce como PS_PULIC_STRINGS. Sin embargo, los programas MAPI personalizados pueden tener sus propios GUID para las propiedades personalizadas.

  • <Nombre de la propiedad>: especifica el nombre de la propiedad. Si la propiedad se denomina por una cadena, el tipo <Nombre> es el nombre de cadena real de la propiedad. Si la propiedad se denomina por un identificador, se omite el valor de esta clave del registro. Sin embargo, debe asignar a la propiedad un nombre único de modo que la propiedad puede almacenarse en el registro. Si la clave Kind se establece en 1 o es 0, el nombre de clave del registro de <> determinar el nombre de la propiedad. Si la clave Kind no es igual a 1, se omitirá este nombre de clave del registro.
  • "Tipo" (dword): Especifica si la propiedad se denomina por un identificador o una cadena. Si el valor es 0, la propiedad se denominará por un Id. El nombre es un valor numérico que se especifica mediante un identificador. Si el valor es 1, la propiedad se denominará por una cadena. Esta configuración es la configuración predeterminada al "Tipo" no está presente.
  • "ID" (dword): contiene el nombre del identificador de una propiedad que se denomina por un identificador. Esta información es necesaria si la clave Kind se establece en 0. Si la clave Kind se establece en 1, se omitirá esta información.
  • "Tipo" (dword): especifica el tipo de propiedad.
Esta clave del registro es necesaria, pero la clave del registro no se utiliza actualmente. La tabla siguiente enumeran los posibles valores de esta clave del registro en función del tipo MAPI.
Tipo de MAPIValorDescripción
PT_UNSPECIFIED0Reservado para el uso de la interfaz, (el tipo no es importante al llamador)
PT_NULL1Valor de la propiedad NULL
PT_I22Valor de 16 bits con signo
PT_LONG3Valor de 32 bits con signo
PT_R44punto flotante de 4 bytes
PT_DOUBLE5Punto flotante de doble
PT_CURRENCY6Firmado int de 64 bits (w/4 dígitos decimales derecho de pt decimal)
PT_APPTIME7Tiempo de aplicación
PT_ERROR10valor de error de 32 bits
PT_BOOLEAN11booleano (verdadero distinto de cero) de 16 bits
PT_OBJECT2Objeto incrustado en una propiedad
PT_I823entero con signo de 8 bytes
PT_STRING830Cadena de 8 bits terminada en null
PT_UNICODE31Cadena Unicode terminada en nulo
PT_SYSTIME64Entero de 64 bits FILETIME con w/número de períodos de 100ns desde el 1 de enero de 1601
PT_CLSID724GUID DE OLE
PT_BINARY258No interpretada (matriz de bytes contada)
PT_MV_UNSPECIFIED4096
PT_MV_NULL4097
PT_MV_I24098
PT_MV_LONG4099
PT_MV_R44100
PT_MV_DOUBLE4101
PT_MV_CURRENCY4102
PT_MV_APPTIME4103
PT_MV_ERROR4106
PT_MV_BOOLEAN4107
PT_MV_OBJECT4109
PT_MV_I84116
PT_MV_STRING84126
PT_MV_UNICODE4127
PT_MV_SYSTIME4160
PT_MV_CLSID4168
PT_MV_BINARY4354
El siguiente es un ejemplo de cómo establecer una propiedad denominada cadena:
Nombre: "MyStringFieldName1"

Tipo: PT_LONG
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyStringFieldName1] "Type"=dword:00000003
El siguiente es un ejemplo de cómo establecer una propiedad denominada ID:
ID: 0X0330

Tipo: PT_LONG
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyMAPIProp1] "Kind"=dword:00000000 "ID"=dword:00000330 "Type"=dword:00000003


Para estos dos ejemplos, el registro aparece similar al siguiente en el Editor del registro:


{00020329-0000-0000-C000-000000000046}

MyStringFieldName1
Tipo = 3

MyStringFieldName2
Tipo = 3

{00020329-0000-0000-C000-000000000046}
MyMAPIProp1
Tipo = 0
ID = 330

Tipo = 3

MyMAPIProp2
Tipo = 0
ID = 331
Tipo = 3

No se recomienda: volver a habilitar la capacidad de crear propiedades

Tres claves del registro se pueden implementar en equipos de cliente para deshabilitar el bloqueo de propiedades personalizadas y revertirán Outlook a su anterior comportamiento. Estas claves del registro son compatibles con las directivas de grupo. Las siguientes claves del registro pueden volver Outlook 2003 a su anterior comportamiento:

Nota: Las siguientes claves del registro no revertirá Outlook 2007 a su anterior comportamiento.
  • AllowTNEFtoCreateProps (HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "AllowTNEFtoCreateProps" = dword: 00000000): si el valor es 0, TNEF/MIME no puede crear nuevas propiedades personalizadas de Outlook no. Este valor es el valor predeterminado. Si el valor es 1, TNEF/MIME puede crear nuevas propiedades personalizadas a distinto de Outlook.
  • AllowMSGFilestoCreateProps: si el valor es 0, los archivos .msg y .oft no puede crear nuevas propiedades personalizadas de Outlook no. Este valor es el valor predeterminado. Si el valor es 1, los archivos .msg y .oft puede crear nuevas propiedades personalizadas de Outlook no.
  • DisallowTNEFPreservation: para facilitar la migración a este nuevo comportamiento, Outlook conserva el TNEF original cuando no se crean propiedades personalizadas. En el elemento que está guardado, el TNEF original se guarda en una secuencia binaria. Outlook utiliza la siguiente etiqueta de propiedad para guardar la secuencia:
    PR_TNEF_UNPROCESSED_PROPS PROG_TAG(PT_BINARY, 0x0e9C).
    El HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "DisallowTNEFPreservation" = dword: 00000000
    registro de configuración de los controles si Outlook crea la propiedad PR_TNEF_UNPROCESSED_PROPS.

    Nota: La propiedad PR_TNEF_UNPROCESSED_PROPS se quita de un mensaje cuando se incrusta un mensaje en el otro mensaje como datos adjuntos. La propiedad PR_TNEF_UNPROCESSED_PROPS también se quita cuando reenvía un mensaje o responder a un mensaje.
Propiedades

Id. de artículo: 907985 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios