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

Seleccione idioma Seleccione idioma
Id. de artículo: 181266 - 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 Microsoft Outlook 98 y proporciona sugerencias para direccionamiento síntomas inesperados que pueden surgir al crear una solución basada en formularios de Outlook.

En este artículo se abordan los siguientes temas:

  • Una solución de formularios personalizados "típica"
  • Formularios de uso único
  • Maneras estándar de hacer que los formularios sean de uso único
  • Elementos que se convierten inesperadamente en elementos de uso único
  • Identificar un elemento de uso único
  • Síntomas típicos
  • Pasos para reproducir el problema
  • Solución

Más información

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;CNTACTMSEste artículo supone conocimientos generales de formularios personalizados de Outlook. Para obtener información de introducción a la personalización de Outlook, consulte los artículos de Microsoft Knowledge Base enumerados en la sección referencias de este artículo.

Nota : hay una distinción 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 un "cliente" para el elemento y normalmente no contiene ningún dato. En lugar de ello, se publica en una carpeta o biblioteca de formularios para su uso con los elementos de la carpeta.

Al crear soluciones de formularios personalizados con Microsoft 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:

  1. Comience con un elemento de contacto predeterminado nuevo, para utilizar como base para el formulario personalizado.
  2. Personalice el formulario de forma que se ajuste a sus necesidades.
  3. Publicar el formulario a la carpeta Contactos.
  4. 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, la clase de mensaje se cambia 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 crea un nuevo elemento basado en el formulario publicado, el campo de clase de mensaje del elemento se establece como 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:
182274OL98: Cómo actualizar elementos existentes para utilizar un nuevo formulario personalizado

Formularios de uso único

En la situación típica anterior, la información sobre el 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, este artículo utilizará 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 clase de mensaje está configurado 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 se convierte a uso único, utilizará la definición almacenada con el elemento, no la del formulario publicado. Si una definición de formulario se guarda con un elemento, clase de mensaje del elemento 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 activando la casilla de verificación "Enviar la definición de formulario con elemento" de 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. Al seleccionar esta opción se garantiza que el destinatario verá el formulario personalizado cuando abra el elemento.

Nota : en Outlook 97, esta opción estaba activado de forma predeterminada para formularios de mensaje de correo, pero en Outlook 98 la configuración está desactivada de forma predeterminada.

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 altera de uno u otro modo para ese elemento en particular, Outlook lo convertirá automáticamente en elemento de uso único (creará un formulario de uso único) y guardará la definición del formulario con el elemento. El campo clase de mensaje cambiará volver a la clase de mensaje predeterminada para ese tipo de elemento y el tamaño del elemento aumentará notablemente.

Siguiente conocen escenarios donde los elementos pueden uso único inesperadamente.

  • 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.
    Todos los elementos en la carpeta ahora utilizará el formulario personalizado actualizado la próxima vez que se abren los elementos, porque la clase de referencia al formulario publicado todavía. La primera vez que se abra un elemento una vez modificado el formulario, Outlook mostrará brevemente un mensaje que indica que se está instalando (copiando en la caché de formularios) el formulario nuevo.
  • 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 suelen producen este comportamiento: - ShowFormPage y HideFormPage - métodos que existen para el objeto FormDescription objeto - métodos relacionados con las propiedades de controles, normalmente para habilitar o deshabilitar controles o hacerlos oculta o muestra - eliminar el método del objeto Action
  • 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 basado en el personalizado formulario y el uso de Outlook la modificación de la característica para especificar un valor en un elemento en una vista de tabla, Outlook automáticamente de las celdas agrega el campo definido por el usuario para el artículo sobre la marcha. Así cambia la definición del formulario y, por lo tanto, el elemento se convierte en elemento de uso único.
  • Suponiendo que ha publicado un formulario de mensaje para que quede disponible para todos los usuarios, si abre una nueva instancia del formulario, cambiar cualquiera de las opciones de mensaje y, a continuación, enviar el formulario, el formulario se transformará en un formulario de uso único porque Outlook actualiza las acciones en el formulario.

Síntomas típicos

Aunque las soluciones y situaciones varían enormemente, hay algunos signos que se debe tener en cuenta que pueden indicar que los elementos están convirtiéndose en uso.

  • Aparece de forma inesperada un mensaje de advertencia sobre virus de macro cuando se abre un elemento. Formularios de uso único son una causa común de la advertencia de seguridad "Habilitar o deshabilitar" Outlook muestra si un formulario contiene código VBScript. Porque el código no es en un formulario "registrado", pero realmente en el propio elemento, Outlook le siempre muestra la advertencia. Idealmente, debe intentar evitar la situación que está causando el elemento 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:
    182376OL97: Por qué muestra Outlook una advertencia de seguridad abrir un elemento
  • Formularios de uso único son una causa común de la advertencia de seguridad "Habilitar o deshabilitar" Outlook muestra si un formulario contiene código VBScript. Porque el código no es en un formulario "registrado", pero realmente en el propio elemento, Outlook le siempre muestra la advertencia. Idealmente, debe intentar evitar la situación que está causando el elemento uso único en primer lugar. Para obtener más información acerca de la advertencia de seguridad, consulte el artículo siguiente en Microsoft Knowledge Base: el tamaño de un elemento aumenta inesperadamente.
  • Formularios de uso único son una causa común de la advertencia de seguridad "Habilitar o deshabilitar" Outlook muestra si un formulario contiene código VBScript. Porque el código no es en un formulario "registrado", pero realmente en el propio elemento, Outlook le siempre muestra la advertencia. Idealmente, debe intentar evitar la situación que está causando el elemento uso único en primer lugar. Para obtener más información acerca de la advertencia de seguridad, consulte el artículo siguiente en Microsoft Knowledge Base: el icono de un elemento cambia inesperadamente.

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 "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 su campo clase de mensaje es la clase de mensaje predeterminada para ese tipo de elemento, pero cuando se abre el elemento, el formulario utiliza 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 por lo que 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

Los pasos siguientes ilustran cómo los métodos ShowFormPage y de HideFormPage pueden un elemento de uso único.
  1. Cree un nuevo mensaje de correo.
  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 defintion
             Item.GetInspector.HideFormPage("P.2")
    
             ' Send the item
             Item.Send
    
             Msgbox Item.MessageClass
          End Sub
    
          Sub Item_Open()
             Msgbox Item.MessageClass
          End Sub
    
          Sub Item_Read()
             ' This changes the form definition
             Item.GetInspector.Hideformpage("P.2")
    
             Msgbox Item.MessageClass
          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. En el menú acciones , haga clic en New Form1 para abrir un elemento basado en el formulario.
  7. Envíeselo a usted mismo.
  8. Utilice el botón de comando de P.2 para enviar el mensaje.
  9. Cuando reciba el mensaje, ábralo para leerlo.
Observe que no aparece ningún mensaje de advertencia sobre macros. Además, podrá ver los cambios de clase de mensaje IPM.Note porque han cambiado la definición del formulario.

Solución

Si necesita tener un escenario donde un artículos pasará a ser un único, puede evitar alrededor de los efectos secundarios de un elemento único restableciendo el campo clase de mensaje y, a continuación, guardando el elemento en el código. Como ejemplo, utilice el siguiente código en lugar del código proporcionado en la sección "Pasos para reproducir el problema" y el elemento no deshabilita el mensaje de advertencia de macro.
   Dim sSaveMessageClass



   Sub CommandButton1_click()
      ' Save the MessageClass property
      sSaveMessageClass = Item.MessageClass

      ' This changes the form definition
      Item.GetInspector.HideFormPage("P.2")

      ' Restore the MessageClass property
      Item.MessageClass = sSaveMessageClass

      ' Save the changes to the form
      Item.Save

      ' Send the item
      Item.Send

      Msgbox Item.MessageClass


   End Sub

   Sub Item_Open()
      Msgbox Item.MessageClass
   End Sub

   Sub Item_Read()
      ' Save the MessageClass property
      sSaveMessageClass = Item.messageclass

      ' This changes the form definition
      Item.GetInspector.Hideformpage("P.2")

      ' Restore the MessageClass property
      Item.messageclass = sSaveMessageClass

      Msgbox Item.MessageClass

   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 cómo crear soluciones con Microsoft Outlook 98, vea los artículos siguientes en Microsoft Knowledge Base:
180826OL98: Recursos para formularios personalizados y programación
182349OL98: Preguntas acerca de los formularios personalizados y las soluciones de Outlook

Propiedades

Id. de artículo: 181266 - Última revisión: domingo, 02 de febrero de 2014 - Versión: 1.2
La información de este artículo se refiere a:
  • Microsoft Outlook 98 Standard
Palabras clave: 
kbnosurvey kbarchive kbmt kbdta kbhowto kbofficeprog kbprogramming KB181266 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): 181266

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