OL2000: Trabajar con definiciones de formulario y formularios de uso único

Seleccione idioma Seleccione idioma
Id. de artículo: 207896 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo describe formularios personalizados de cómo se implementan en Outlook y proporciona sugerencias para direccionamiento síntomas inesperados que puede experimentar cuando se crea una solución basada en formularios de Outlook.

Más información

Nota : en este artículo es existe una distinción importante entre los términos "elementos" y "formularios". Elemento hace referencia a un "registro" de información (grupo de campos) de una carpeta. Un formulario es básicamente la "interfaz de usuario" del elemento y no suele contener datos. En lugar de ello, se publica en una carpeta o biblioteca de formularios para su uso con los elementos de la carpeta.

Cuando se crea la solución de formulario personalizado con Outlook es importante poder reconocer cómo Outlook utiliza el formulario personalizado en relación con los elementos de una carpeta.

Una solución de formularios personalizados "típica"

Si desea crear un formulario de contactos personalizado que sustituya al predeterminado de Outlook, normalmente efectuará los pasos siguientes:
    • Inicie un nuevo formulario Contacto predeterminado que sirva de modelo para el formulario personalizado.
    • Personalice el formulario de forma que se ajuste a sus necesidades.
    • Publicar el formulario a la carpeta Contactos.
    • Establezca el formulario como formulario predeterminado para la carpeta Contactos cambiando las propiedades de carpeta.
Cada elemento de Outlook tiene un campo de Clase de mensaje estándar para realizar un seguimiento de qué formulario debe utilizarse para mostrar el elemento. La clase de mensaje predeterminada para un contacto es IPM.Contact y cuando se publica el formulario se cambia la clase de mensaje para reflejar el nombre del formulario publicado. Por lo tanto, en los pasos anteriores, si el formulario se llamaba MiFormulario cuando se publicó, su clase de mensaje debería ser IPM.Contact.MiFormulario. Cuando se crea un nuevo elemento basado en el formulario publicado, el campo de Clase de mensaje del elemento se establece en IPM.Contact.MiFormulario.

Para obtener más información sobre cómo trabajar con clases de mensaje, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
201087 OL2000: cómo actualizar elementos existentes para que utilicen un nuevo formulario personalizado

Formularios de uso único

En la situación típica que se describió anteriormente, la información acerca del formulario (la definición del formulario) no se guarda con cada elemento. El formulario se "vincula" básicamente a utilizando el campo de Clase de mensaje . El tamaño de un elemento típico puede variar de 300 a 500 bytes.

Nota : por razones de simplicidad, en este artículo se utiliza el término "formulario vinculado" para indicar una situación en que la definición del formulario no se guarda dentro de un elemento y el campo de Clase de mensaje está establecido para utilizar un formulario personalizado.

No obstante, es posible guardar la definición del formulario con un elemento. Los elementos que llevan almacenada una definición de formulario personalizado reciben el nombre de "convertidos a uso único" o "de uso único"

Cuando un formulario es de uso único puede usar la definición del formulario que se almacena con el elemento en lugar del formulario publicado. Si una definición de formulario se guarda con un elemento del elemento Clase de mensaje se cambia en la clase de mensaje predeterminada para ese tipo de formulario, como IPM.Contact .

Maneras estándar de hacer que los formularios sean de uso único

Puede especificar que un formulario es de uso único haciendo clic para seleccionar la casilla " enviar la definición de formulario con el elemento " en la página de Propiedades del formulario en modo de diseño. Normalmente, este proceso se emplea cuando no se ha registrado el formulario en una biblioteca donde el destinatario tenga acceso a él. Si selecciona esta opción garantiza que la persona vea el formulario personalizado cuando se abre el elemento.

Elementos que se convierten inesperadamente en elementos de uso único

Suponga un caso de formularios vinculados en el que dispone de 10 elementos creados que utilizan el formulario personalizado publicado. Si abre uno de los elementos y la definición del formulario se cambia de algún modo para que un elemento determinado, Outlook puede automáticamente el elemento de uso único (crear un formulario de uso único) y guarde la definición del formulario con el elemento. Puede cambiar el campo Clase de mensaje volver a la clase de mensaje predeterminada para ese tipo de elemento y, aumenta notablemente el tamaño del elemento.

En las situaciones siguientes suele ocurrir que los elementos se convierten inesperadamente en elementos de uso único.

  • Se encuentra ante un caso típico de formularios vinculados, abre un elemento existente de una carpeta, realiza los cambios oportunos en el formulario en modo de diseño, y guarda o envía el elemento.

    Si desea cambiar el formulario de todos los elementos en la carpeta en lugar de abrir un elemento existente, siga estos pasos:

    1. Abra un nuevo elemento basado en el formulario personalizado.
    2. Realizar cambios de diseño de formulario en ese elemento.
    3. Utilizando dicho elemento, vuelva a publicar el formulario con el mismo nombre.
    4. Cierre y no guarde los cambios al elemento.
    Ahora todos los elementos en la carpeta pueden utilizar al formulario personalizado actualizado la próxima vez que se abran porque la Clase de mensaje sigue haciendo referencia al mismo formulario publicado. La primera vez un elemento se abre después de cambia el formulario de Outlook puede mostrar brevemente un mensaje que indica que el nuevo formulario se está instalando (se copia a la caché de formularios).
  • Utilizó el código de Microsoft Visual Basic Scripting Edition (VBScript) en el formulario personalizado y algunos métodos o comandos que provocan que la definición del formulario del elemento cambie. Los métodos siguientes provocan con frecuencia este comportamiento:

    • Métodos que existen para el objeto FormDescription .
    • Métodos relacionados con las propiedades de controles, normalmente para habilitar o deshabilitar controles o hacerlos oculta o muestra.
    • Métodos relacionados con el objeto Action .

    Nota : en versiones anteriores de Outlook, los métodos ShowFormPage y HideFormPage provocó un elemento único. Ya no se produce en Outlook 2000. Si desea más información acerca de este cambio, consulte el artículo siguiente en Microsoft Knowledge Base:
    218618 OL2000: ShowFormPage, HideFormPage no crear elementos de uso
  • Creó un campo para utilizarlo en la carpeta, pero el campo no existía realmente en el elemento cuando se publicó el formulario. En este caso, si crea un elemento nuevo a partir del formulario personalizado y utiliza la característica de edición en celda para introducir un valor en un elemento en vista de tabla, Outlook agrega automáticamente el campo definido por el usuario al elemento. Así cambia la definición del formulario y, por lo tanto, el elemento se convierte en elemento de uso único. Para obtener información adicional sobre los campos definidos por el usuario en las soluciones, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
    201438 OL2000: trabajar con campos definidos por el usuario en soluciones

Síntomas típicos

Aunque las soluciones y situaciones varían enormemente, existen determinados signos cuyo conocimiento puede indicar que un formulario se está convirtiendo en formulario de uso único.

  • Aparece de forma inesperada un mensaje de advertencia sobre virus de macro cuando se abre un elemento. Los formularios de uso único son una causa común de activación o desactivación de la advertencia sobre seguridad que Outlook muestra cuando un formulario contiene código VBScript. Porque el código es no en un formulario publicado o de confianza pero realmente en el propio elemento, Outlook puede mostrar siempre la advertencia. Lo ideal sería intentar evitar la situación que provoca que el formulario se convierta en formulario de uso único en primer lugar.

    Para obtener más información sobre la advertencia de seguridad, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
    207913 OL2000: por qué Outlook muestra un mensaje de advertencia de seguridad al abrir un elemento
  • El tamaño de un elemento aumenta inesperadamente.
  • El icono correspondiente a un elemento cambia de forma inesperada lo que normalmente indica un cambio en el campo de clase de mensaje.

Identificar un elemento de uso único

Si un elemento es de uso único inesperadamente y, a continuación, observa que no está activada la casilla de verificación " enviar la definición de formulario con el elemento ", no significa necesariamente que la definición del formulario no se guarda con el elemento.

Un elemento es de uso único si su campo Clase de mensaje es la clase de mensaje predeterminada para ese tipo de elemento pero cuando el elemento se abre el formulario que se usa para mostrar el elemento es un formulario personalizado.

Al desarrollar una solución basada en la carpeta, desea mostrar los campos Clase de mensaje y el tamaño en una vista de tabla, de modo puede estar seguro de que los elementos en la carpeta se comportan como se esperaba. Asimismo, un cambio en el icono correspondiente a un elemento indica la mayoría de las veces un cambio de estado, aunque debería reiniciar Outlook para estar seguro de que aparece el icono correcto.

Pasos para reproducir el problema

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita, incluyendo, pero sin limitarse a, las garantías implícitas de comerciabilidad e idoneidad para un propósito determinado. En este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y las herramientas utilizadas para crear y depurar procedimientos. Los profesionales de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos a necesidades específicas.
Si tiene poca experiencia en programación, desea póngase en contacto con un Microsoft Certified Partner o servicios de consultoría de Microsoft. Para obtener más información, visite estos sitios Web de Microsoft:

Microsoft certificado Partners - https://partner.microsoft.com/global/30000104

Servicios de asesoramiento de Microsoft - http://support.microsoft.com/gp/advisoryservice

Para obtener más información acerca de las opciones de soporte técnico que están disponibles y cómo ponerse en contacto con Microsoft, visite el siguiente sitio Web de Microsoft: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMSLos pasos siguientes ilustran cómo agregando un campo de un elemento definido por el usuario puede crear un formulario de uso único.
  1. Abra un mensaje de correo nuevo.
  2. En el menú Herramientas , haga clic en formularios y, a continuación, haga clic en Diseñar este formulario .
  3. Utilizando el cuadro de herramientas, agregue un CommandButton a la página P.2 .
  4. En el menú formulario , haga clic en Ver código . Agregue el siguiente código de VBScript en el Editor de VBScript y cierre el editor:
    Sub CommandButton1_click()
       ' This changes the form definition by adding a text field.
       Set MyProp = Item.UserProperties.Add("MyField",1)
       ' Send the item
       Item.Send
    End Sub
    					
  5. En el menú Herramientas , haga clic en Publicar formulario como y, a continuación, publique el formulario en la Bandeja de entrada como "Form1"
  6. Cuando se le pida para habilitar la opción " enviar la definición de formulario con el elemento ", haga clic en no . Cierre y no guarde los cambios del formulario.
  7. En el menú acciones , haga clic en New Form1 para abrir un elemento basado en el formulario.
  8. Envíeselo a usted mismo.
  9. Utilice el control CommandButton en P.2 para enviar el mensaje.
  10. Cuando reciba el mensaje, ábralo para leerlo.
Observe que no aparece ningún mensaje de advertencia sobre macros. Asimismo, el tamaño del elemento es relativamente extenso (aproximadamente 6 K).

Solución

Si necesita tener un escenario donde un elemento puede ser un único, puede evitar los efectos secundarios de un elemento de uso único restableciendo el campo clase de mensaje y a continuación, guardar el elemento en código. Por ejemplo, utilizar el siguiente código en lugar del código proporcionado anteriormente en la sección "Pasos para reproducir el problema" y el elemento no puede habilitar el mensaje de advertencia de macro.
Sub CommandButton1_click()
   ' Save the MessageClass property
   sSaveMessageClass = Item.MessageClass

   ' This changes the form definition
   Set MyProp = Item.Userproperties.Add("MyField", 1)

   ' Restore the MessageClass property
   Item.MessageClass = sSaveMessageClass

   ' Save the changes to the form
   Item.Save

   ' Send the item
   Item.Send

End Sub
				
Nota : si cambia mediante programación la clase de mensaje de un elemento, el tamaño del elemento no se reduce. No existe ningún modo de eliminar verdaderamente una definición de formulario no deseada de un elemento, a no ser que se cree un elemento nuevo sin definición de formulario y se copien los datos del elemento antiguo al nuevo.

Referencias

Para obtener más información acerca de los recursos disponibles y respuestas a las preguntas más frecuentes acerca de las soluciones de Microsoft Outlook 2000, consulte el siguiente artículo en Microsoft Knowledge Base:
146636 OL2000: preguntas acerca de los formularios personalizados y las soluciones de Outlook

Propiedades

Id. de artículo: 207896 - Última revisión: sábado, 8 de febrero de 2014 - Versión: 3.3
La información de este artículo se refiere a:
  • Microsoft Outlook 2000 Standard
Palabras clave: 
kbnosurvey kbarchive kbmt kbinfo KB207896 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 207896

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com