Escribir código en soluciones de Office

Existen algunos aspectos a la hora de escribir código en proyectos de Office que son diferentes con respecto a otros tipos de proyectos en Visual Studio. Muchas de estas diferencias están relacionadas con la manera en que se exponen los modelos de objeto de Office en el código administrado. Otras diferencias están relacionadas con el diseño de los proyectos de Office.

Se aplica a: la información de este tema se aplica a los proyectos de nivel de documento y los proyectos de nivel de aplicación para Microsoft Office 2010 y 2007 Microsoft Office System. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Código administrado y programación de Office

La tecnología clave que permite la creación de una solución de Microsoft Office integrada es la automatización, que forma parte de la tecnología del Modelo de objetos componentes (COM). La automatización permite utilizar código para crear y controlar los objetos de software expuestos por cualquier aplicación, archivo DLL o control ActiveX compatible con las interfaces de programación adecuadas.

Descripción de los ensamblados de interoperabilidad primarios

Las aplicaciones de Microsoft Office exponen una gran parte de su funcionalidad a la automatización. Sin embargo, no se puede usar directamente el código administrado (como Visual Basic o C#) para automatizar las aplicaciones de Office. Para automatizar las aplicaciones de Office mediante código administrado, se deben usar los ensamblados de interoperabilidad primarios (PIA) de Office. Los ensamblados de interoperabilidad primarios permiten la interacción del código administrado con el modelo de objetos basado en COM de las aplicaciones de Office.

Cada aplicación de Microsoft Office tiene un PIA. Cuando se crea un proyecto de Office en Visual Studio, se agrega automáticamente al proyecto una referencia al PIA correspondiente. Para automatizar las características de otras aplicaciones de Office desde el proyecto, debe agregar manualmente una referencia al PIA apropiado. Para obtener más información, vea Cómo: Apuntar a las aplicaciones de Office mediante los ensamblados de interoperabilidad primarios.

Usar ensamblados de interoperabilidad primarios en tiempo de diseño y en tiempo de ejecución

Los PIA de Office deben estar instalados y registrados en la memoria caché global de ensamblados en el equipo de desarrollo para poder realizar la mayoría de las tareas de desarrollo. Para obtener más información, vea Configurar un equipo para desarrollar soluciones de Office.

Los PIA también se deben instalar en los equipos de los usuarios finales para poder ejecutar las soluciones de Office destinadas a .NET Framework 3.5. Sin embargo, no es necesario instalar los PIA de Office en los equipos de los usuarios finales para ejecutar soluciones de Office destinadas a .NET Framework 4. Para obtener más información, vea Diseñar y crear soluciones de Office.

Tipos en los ensamblados de interoperabilidad primarios

Los PIA de Office contienen una combinación de tipos que expone el modelo de objetos de las aplicaciones de Office y tipos de infraestructura adicionales que no están diseñados para usarlos directamente en el código. Para obtener información general sobre los tipos de los PIA de Office, vea Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Puesto que los tipos de los PIA de Office se corresponden con los tipos de los modelos de objetos basados en COM, la manera de usar estos tipos a menudo difiere de cómo se usan otros tipos administrados. Por ejemplo, la manera de llamar a los métodos que tienen parámetros opcionales en un ensamblado de interoperabilidad primario de Office depende del lenguaje de programación que se use en el proyecto. Para obtener más información, vea los temas siguientes:

Modelo de programación de proyectos de Office

Todos los proyectos de Office incluyen una o más clases generadas que proporcionan el punto de entrada para el código. Estas clases también proporcionan acceso al modelo de objetos de la aplicación host y a características tales como recuadros de acción y recuadros de tareas personalizados.

Descripción de las clases generadas

En proyectos de nivel de documento para Excel y Word, la clase generada se parece a un objeto de nivel superior en el modelo de objetos de la aplicación. Por ejemplo, la clase ThisDocument generada en 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 sobre las clases generadas en proyectos de nivel de documento, vea Programar personalizaciones de nivel de documento.

Los proyectos de nivel de aplicación proporcionan una clase generada denominada ThisAddIn. Esta clase no se parece a ninguna clase del modelo de objetos de la aplicación host. En su lugar, esta clase representa el complemento en sí y proporciona miembros que se pueden usar para obtener acceso al modelo de objetos de la aplicación host y a otras características que están disponibles para los complementos. Para obtener más información, vea Programar complementos de nivel de aplicación.

Todas las clases generadas de los proyectos de Office incluyen controladores de eventos Shutdown y Startup. Cuando se empieza a escribir código, normalmente se agrega código a estos controladores de eventos. 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 los proyectos de Office.

Obtener acceso a las clases generadas en tiempo de ejecución

Cuando se carga una solución de Office, Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office crea instancias de cada una de las clases generadas en su proyecto. Puede tener acceso a estos objetos desde cualquier código de su proyecto mediante la claseGlobals. Por ejemplo, puede usar la clase Globals para llamar al código de la clase ThisAddIn desde un controlador de eventos de un botón de cinta de opciones en un complemento de nivel de aplicación.

Para obtener más información, vea Acceso global a objetos en los proyectos de Office.

Vea también

Tareas

Cómo: Apuntar a las aplicaciones de Office mediante los ensamblados de interoperabilidad primarios

Cómo: Crear controladores de eventos en proyectos de Office

Enlace en tiempo de ejecución en las soluciones de Office

Conceptos

Lenguajes de programación compatibles en los proyectos de Office

Programar con Visual Basic y con Visual C# en las soluciones de Office

Parámetros opcionales en las soluciones de Office

Acceso global a objetos en los proyectos de Office

Eventos de los proyectos de Office

Consideraciones sobre los espacios de nombres en soluciones de Office

Usar Mi en los proyectos de Office

Fragmentos de código de IntelliSense en los proyectos de Office

Desarrollo en colaboración de las soluciones de Office