Crear áreas del formulario de Outlook

Puede usar las áreas de formulario para personalizar los formularios de Microsoft Office Outlook. Visual Studio proporciona herramientas avanzadas que facilitan el diseño, el desarrollo y la depuración de las áreas de formulario.

Se aplica a: La información de este tema se aplica a los proyectos de complementos de VSTO para Outlook. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

Este tema proporciona la siguiente información:

Ventajas del uso de áreas de formulario

Las áreas de formulario ofrecen muchas mejoras sobre el desarrollo tradicional de formularios de Outlook:

  • Personalizar la página predeterminada de cualquier formulario estándar.

  • Agregar hasta 12 páginas adicionales a cualquier formulario estándar.

  • Reemplazar o mejorar cualquier formulario estándar.

  • Mostrar la interfaz de usuario personalizada en el panel de lectura y en los inspectores.

    Para obtener más información, consulte Personalización de páginas de formulario y áreas de formulario.

Agregar un área de formulario de Outlook al proyecto

Puede usar el Asistente para nuevo área del formulario de Outlook para diseñar un área de formulario nueva o importar un área de formulario diseñada en Outlook. Además, si tiene un área de formulario que ha usado en otro proyecto de complemento de VSTO de Outlook, puede volver a usarla.

Creación de un área de formulario mediante el asistente

Para crear un área de formulario, agregue un elemento Área de formulario de Outlook a un proyecto de complemento vsto de Outlook. Esto inicia el Asistente para nuevo área de formulario de Outlook.

Use el asistente para indicar si desea diseñar una nueva área de formulario o importar una diseñada en Outlook. Para obtener más información sobre cómo diseñar un área de formulario nueva, vea Usar el diseñador de áreas de formulario. Para obtener más información sobre el uso de un área de formulario diseñada en Outlook, vea Importar un área de formulario diseñada en Outlook.

Use el asistente para especificar el tipo de área de formulario que desea crear. En la siguiente tabla se describen todos los tipos de área de formulario.

Tipo de región Descripción
Separado Agrega el área de formulario como una página nueva en un formulario de Outlook.
Adyacente Anexa el área de formulario a la parte inferior de la página predeterminada de un formulario de Outlook.
Sustitución Agrega el área de formulario como una página nueva que reemplaza la página predeterminada de un formulario de Outlook.
Reemplazar todo Reemplaza todo el formulario de Outlook por el área de formulario.

También puede usar el asistente para especificar las condiciones de presentación y seleccionar el tipo de formulario que se va a extender. Para obtener más información, vea Cómo: Agregar un área de formulario a un proyecto de complemento de Outlook.

Las selecciones que haga en el asistente afectarán a las opciones que estén disponibles en otras páginas del asistente. Por ejemplo, si selecciona Adyacente o Independiente en la página Crear un nuevo área del formulario de Outlook, los campos Título y Descripción no están disponibles en el texto descriptivo Proporcionar y seleccionar la página preferencias para mostrar. Esto se debe a que Outlook no usa estos campos cuando muestra un área de formulario adyacente o independiente.

Archivos de área del formulario

Al completar el Asistente para nuevo área de formulario de Outlook, Visual Studio agrega automáticamente los siguientes archivos al proyecto:

  • Un archivo de código del área de formulario. Este archivo tiene el nombre que especifique para el elemento Área del formulario de Outlook en el cuadro de diálogo Agregar nuevo elemento. Agregue código para controlar los eventos del área de formulario en este archivo.

  • Un archivo de código del Diseñador de áreas de formulario. Este archivo contiene código generado por el Diseñador de áreas de formulario y no debe editarse directamente.

  • Un archivo de Almacenamiento de formularios (.ofs) de Outlook.

    Nota:

    Este archivo solo se agrega al proyecto si se importa un área de formulario diseñada en Outlook.

Clase de generador de áreas de formulario

El archivo de código del área de formulario contiene una clase parcial que implementa la interfaz IFormRegionFactory. Se trata de la clase de generador de áreas de formulario. La clase de generador de áreas de formulario es responsable de crear nuevas instancias del área de formulario.

Para encontrar esta clase, expanda la región Generador de áreas de formulario.

El Asistente para nuevo área de formulario de Outlook agrega atributos a esta clase que especifican el nombre interno del área del formulario y las clases de mensaje que muestran el área del formulario. Puede modificar estos atributos manualmente una vez agregado el archivo al proyecto.

La mayor parte de la clase de generador de áreas de formulario se implementa en el archivo del Diseñador de áreas de formulario. Sin embargo, el controlador de eventos FormRegionInitializing se expone en el archivo de código del área de formulario. Puede usar este controlador de eventos para especificar si Outlook debe mostrar el área de formulario. Para obtener más información, vea Controlar eventos de área de formulario.

Agregar un área de formulario existente al proyecto

Si ha usado un área de formulario de Outlook en otro proyecto de Outlook, puede volver a usarla en el proyecto de complemento de VSTO de Outlook actual mediante el cuadro de diálogo Agregar elemento existente .

El área de formulario existente debe tener un archivo de código (.vb o .cs); no puede agregar archivos de Outlook Form Storage (.ofs) mediante el cuadro de diálogo Agregar elemento existente. Sin embargo, puede crear una nueva área de formulario importando un archivo de almacén de formularios de Outlook. Para obtener más información, vea Cómo: Agregar un área de formulario a un proyecto de complemento de Outlook.

Usar el diseñador de áreas de formulario

El Diseñador de áreas de formulario ayuda a establecer el diseño y la apariencia de un área de este tipo. Puede arrastrar controles administrados a la superficie del diseñador, hacer doble clic en controles para abrir controladores de eventos y establecer propiedades en la ventana Propiedades .

Nota:

Puede encontrar propiedades que afecten a la forma en que aparece el área del formulario en Outlook debajo del nodo Manifiesto en la ventana Propiedades .

El diseñador de áreas de formulario solo está disponible si selecciona Diseñar un nuevo área de formulario en la página Seleccionar cómo desea crear el área del formulario del Asistente para nuevo área del formulario de Outlook.

Existen tres maneras de abrir el Diseñador de áreas de formulario:

  • En Explorador de soluciones, haga doble clic en el archivo de código del área de formulario.

  • En Explorador de soluciones, haga clic con el botón derecho en el archivo de código del área de formulario y, a continuación, haga clic en Diseñador de vistas.

  • En Explorador de soluciones, seleccione el archivo de código del área de formulario y, a continuación, en el menú Ver, haga clic en Diseñador.

    El Diseñador de áreas de formulario solo admite controles administrados. No puede agregar controles nativos de Outlook.

Importar un área de formulario diseñada en Outlook

Al diseñar en Outlook, puede agregar controles nativos de Outlook al área de formulario. Los controles nativos de Outlook permiten enlazar a datos de Outlook en tiempo de diseño. Sin embargo, después no se podrá usar el Diseñador de áreas de formulario para agregar controles administrados o cambiar el diseño del área de formulario.

Puede importar áreas de formulario en un proyecto de complemento VSTO de Outlook mediante el Asistente para nuevo área de formulario de Outlook. En la página Seleccionar cómo desea crear el área del formulario, seleccione Importar un archivo de Almacenamiento de formularios (.ofs) de Outlook. A continuación, puede ir a la ubicación de un archivo de almacenamiento de formularios (.ofs) de Outlook. (Outlook guarda áreas de formulario como archivos .ofs ).

El Asistente para nuevo área de formulario de Outlook copia el archivo .ofs en el directorio del proyecto y agrega referencias de control al archivo del diseñador de áreas del formulario. Luego, puede controlar los eventos de control en el archivo de código del área de formulario.

Para controlar eventos en un proyecto de Visual Basic, seleccione un evento en la lista de nombres de métodos en la parte superior del Editor de código.

Para controlar eventos en un proyecto de C#, suscríbase a los eventos de control en el método FormRegionShowing. Para obtener más información, vea Cómo: Suscribirse a eventos y cancelar la suscripción a eventos (guía de programación de C#).

Puede cambiar las propiedades del área de formulario en el método InitializeManifest de la clase de generador de áreas de formulario.

Nota:

Para importar un área de formulario, debe estar trabajando en un proyecto destinado a la misma versión de Outlook que la que está instalada en el equipo de desarrollo. Por ejemplo, si tiene Outlook 2010 instalado, importar un área de formulario solo funcionará en un proyecto mediante la plantilla de proyecto complemento de Outlook 2010.

Actualizar el diseño de un área de formulario importada

Puede agregar, quitar o cambiar los controles del área de formulario. Antes de hacerlo, haga una copia de seguridad del código que haya agregado al archivo de código del área de formulario. A continuación, abra el archivo .ofs en Outlook, modifique el área del formulario y guarde los cambios. Use el Asistente para nuevo área de formulario de Outlook para importar el archivo .ofs modificado. Luego, puede pegar el código en el nuevo archivo de código del área de formulario.

Agregar código personalizado a un área del formulario

El espacio de nombres Microsoft.Office.Tools.Outlook proporciona acceso a las clases que representan el área de formulario, al elemento de Outlook que muestra dicha área y a otros elementos útiles. El elemento Área del formulario de Outlook agrega automáticamente una referencia a este ensamblado en el proyecto e inserta la instrucción using o Imports adecuada en la parte superior del archivo de código del área de formulario.

Puede usar clases, métodos y propiedades en el espacio de nombres Microsoft.Office.Interop.Outlook para llevar a cabo la mayoría de las tareas de programación de Outlook. Para obtener más información sobre el modelo de objetos de Outlook, vea Información general sobre el modelo de objetos de Outlook. Para obtener ejemplos de tareas típicas que usan el modelo de objetos de Outlook, vea Soluciones de Outlook.

Controlar eventos de área de formulario

El elemento Área del formulario de Outlook agrega automáticamente los tres controladores de eventos siguientes al archivo de código del área del formulario.

Evento Descripción
FormRegionInitializing Se produce antes de inicializarse el área de formulario. Puede comprobar las condiciones de este controlador de eventos para determinar si Outlook debe mostrar el área de formulario. Para obtener más información, vea Cómo: Impedir que Outlook muestre un área de formulario.
FormRegionShowing Se produce después de crear una instancia del área de formulario pero antes de que esta aparezca.
FormRegionClosed Se produce antes de cerrar el área de formulario.

Compilación del proyecto

Cuando se compila un proyecto de complemento de VSTO de Outlook que contiene un área de formulario, Visual Studio agrega la siguiente información al registro:

  • Una clave para cada clase de mensaje asociada a una o varias áreas de formulario.

  • Una entrada para cada área de formulario y un valor asociado que representa el nombre del complemento de VSTO de Outlook.

    Outlook usa esta información para cargar las áreas de formulario.

Depuración de un área de formulario

Puede depurar un complemento VSTO de Outlook que contenga un área de formulario igual que depuraría otros proyectos de Visual Studio. Al iniciar el depurador de Visual Studio, Visual Studio inicia automáticamente Outlook.

Para ver el área de formulario, debe abrir el elemento de Outlook adecuado. Por ejemplo, si un área de formulario adyacente se anexa a la parte inferior de un elemento de correo, abra un elemento de correo.

Implementación de un área de formulario

Las áreas de formulario se implementan automáticamente con el complemento de VSTO de Outlook asociado. Por lo tanto, no es necesario efectuar ninguna tarea especial para implementar un área de formulario. Para obtener más información sobre la implementación de complementos de VSTO, vea Implementar una solución de Office.

Title Descripción
Directrices para crear áreas de formulario de Outlook Proporciona información que le puede ayudar a optimizar las áreas del formulario y evitar posibles problemas.
Cómo: Agregar un área de formulario a un proyecto de complemento de Outlook Muestra cómo crear un área de formulario para ampliar un formulario estándar o personalizado de Microsoft Office Outlook mediante el Asistente para nuevo área de formulario de Outlook.
Asociar un área de formulario a una clase de mensaje de Outlook Explica cómo especificar los elementos de Microsoft Office Outlook que van a mostrar un área de formulario asociándola a la clase de mensaje de cada elemento.
Tutorial: Diseño de un área de formulario de Outlook Muestra cómo diseñar un área de formulario personalizada que aparece como una nueva página en la ventana del inspector de un elemento de contacto.
Tutorial: Importación de un área de formulario diseñada en Outlook Muestra cómo diseñar un área de formulario en Microsoft Office Outlook y, a continuación, importar el área del formulario en un proyecto de complemento VSTO de Outlook mediante el Asistente para nuevo área de formulario de Outlook.
Acceso a un área del formulario en tiempo de ejecución Describe cómo escribir código para mostrar, ocultar o modificar los controles de un área de formulario y permitir a los usuarios ejecutar código de otras áreas del proyecto usando la clase Globals.
Cómo: Impedir que Outlook muestre un área de formulario Muestra cómo evitar que Microsoft Office Outlook muestre un área de formulario de un elemento determinado.
Muestra cómo tener acceso al elemento de Outlook en el que aparece un área de formulario.
Acciones personalizadas en áreas del formulario de Outlook Describe cómo permitir que los usuarios respondan a un elemento de Outlook.