Modelo de programación de soluciones de Office

Actualización: noviembre 2007

El modelo de objetos de Microsoft Office expone diversos objetos con los que se puede programar. Normalmente, cuando se utiliza la automatización para programar con aplicaciones de Microsoft Office mediante código administrado, el código se escribe directamente en los ensamblados de interoperabilidad primarios. En las soluciones de Visual Studio Tools para Office, el código también se escribe directamente en los elementos host del proyecto.

Visual Studio Tools para Office también extiende algunos de los objetos de Microsoft Office Word y Microsoft Office Excel al agregar eventos y capacidades de enlace de datos, y exponerlos como controles que se pueden agregar a un documento de la misma forma que se agregan controles a un formulario Windows Forms. Estos controles extendidos se denominan controles host.

Utilizar elementos host

Los elementos host proporcionan los eventos Startup y Shutdown, que son los puntos de entrada para el código. Para inicializar un complemento, puede agregar código al controlador del evento Startup. Para limpiar los recursos utilizados por un complemento, puede agregar código al controlador del evento Shutdown. Para obtener más información, vea Eventos de proyectos de Visual Studio Tools para Office.

Los elementos host también proporcionan puntos de entrada en el modelo de objetos de la aplicación host. Los proyectos para Excel y Word proporcionan elementos host que parecen clases en el modelo de objetos de la aplicación host. Por ejemplo, la clase Microsoft.Office.Tools.Word.Document de elemento host de un proyecto de documento de Word proporciona los mismos miembros que la clase Microsoft.Office.Interop.Word.Document del modelo de objetos de Word. Para obtener más información, vea Información general sobre elementos y controles Host.

Los proyectos en el nivel de la aplicación proporcionan el elemento host AddIn. Este elemento host no deriva de una clase del modelo de objetos de la aplicación host. Por el contrario, proporciona el campo Application, que devuelve un objeto que representa la instancia actual de la aplicación host. Para obtener más información, consulte Programar complementos de nivel de aplicación.

Uso de eventos de controles host y enlace de datos

Los controles host tienen eventos programables. Por ejemplo, un objeto Microsoft.Office.Interop.Excel.Range nativo de Excel no tiene eventos, pero puede programar con referencia al evento Change de un control NamedRange host. Para obtener más información, vea Tutorial: Programar basándose en los eventos de un control NamedRange.

Es posible escribir código con referencia a estos eventos de la misma manera que utilizar los eventos de los controles de los formularios Windows Forms. Para obtener más información, consulte Información general sobre eventos (Formularios Windows Forms).

Los controles host también tienen capacidad de enlace de datos, que funciona de una manera parecida a los controles de los formularios Windows Forms. Los controles host permiten realizar enlaces a datos simples o complejos. Para obtener más información, vea Enlazar datos a controles y Enlace de datos y formularios Windows Forms.

Programar contra datos en proyectos de nivel de documento

Los datos de los proyectos de nivel de documento pueden almacenarse independientemente del documento en una isla de datos incrustada, de una manera parecida a la forma en que las páginas web de ASP.NET almacenan los datos. Utilizando una isla de datos incrustada para almacenar los datos, es posible tener acceso a ellos sin necesidad de iniciar Word o Excel para, a su vez, iniciar una instancia del documento y sin utilizar el modelo de objetos de la aplicación. Para obtener más información, consulte Información general sobre los datos en personalizaciones de nivel de documento.

Programación basada en esquemas

La forma recomendada para tener acceso a los datos de los proyectos de Office y manipularlos consiste en crear conjuntos de datos con tipo para alojar los datos que se estén utilizando. Con la programación basada en esquemas es posible definir un modelo de objetos propio y programar de una forma más intuitiva, utilizando código orientado a operaciones en lugar de código orientado a Office. Es posible concentrarse en la solución en lugar de en el modelo de objetos de Office. Para obtener más información sobre los conjuntos de datos con tipo, vea Información general sobre conjuntos de datos en Visual Studio.

Programación en el servidor

Como los datos se almacenan en una isla de datos incrustada, puede tener acceso directo a los datos asociados con los documentos almacenados en un servidor sin iniciar la aplicación de Microsoft Office. Para obtener más información, vea Acceso a datos de documentos en el servidor.

Vea también

Conceptos

Programar personalizaciones de nivel de documento

Programar complementos de nivel de aplicación

Acceso a datos de documentos en el servidor

Información general sobre elementos y controles Host

Otros recursos

Controles en documentos de Office

Datos en las soluciones de Office