Share via


Información general sobre el modelo de objetos de Excel

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos de Visual Studio Tools para Office y versiones de Microsoft Office especificados.

Tipo de proyecto

  • Proyectos de nivel de documento

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Excel 2003

  • Excel 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

Para desarrollar soluciones que utilicen Microsoft Office Excel, puede interactuar con los objetos suministrados por el modelo de objetos de Excel. Este tema presenta las clases más importantes:

El modelo de objetos está estrechamente relacionado con la interfaz de usuario. El objeto Application representa toda la aplicación y cada objeto Workbook contiene una colección de objetos Worksheet. A partir de ahí, la mayor abstracción que representa celdas es el objeto Range, que permite trabajar con celdas individuales o grupos de celdas.

Visual Studio Tools para Office extiende muchos de estos objetos nativos a elementos y controles host que se pueden utilizar en las personalizaciones de documentos. Estos controles tienen una funcionalidad adicional que incluye funciones y eventos de enlace de datos. Por ejemplo, un objeto Microsoft.Office.Interop.Excel.Range nativo de Excel se extiende a un control Microsoft.Office.Tools.Excel.NamedRange, que puede enlazarse a datos y expone eventos. Para obtener más información sobre los elementos y controles host, vea Objetos extendidos en los proyectos de nivel de documento.

En este tema se proporciona una breve información general sobre el modelo de objetos de Excel. Para conocer los recursos donde puede obtener más información sobre el modelo de objetos de Excel completo, vea Usar la documentación del modelo de objetos de Excel.

Acceso a los objetos de un proyecto de Excel

Cuando crea un nuevo proyecto de nivel de aplicación para Excel con Visual Studio Tools para Office, Visual Studio crea automáticamente un archivo de código ThisAddIn.vb o ThisAddIn.cs. Puede tener acceso al objeto Application con Me.Application o this.Application.

Al crear un nuevo proyecto en el nivel del documento para Excel utilizando Visual Studio Tools para Office, tiene la opción de crear un nuevo proyecto de libro o de plantilla de Excel. Visual Studio Tools para Office crea automáticamente los archivos de código siguientes en el nuevo proyecto de Excel para los proyectos de libro y de plantilla.

Visual Basic

C#

ThisWorkbook.vb

ThisWorkbook.cs

Sheet1.vb

Sheet1.cs

Sheet2.vb

Sheet2.cs

Sheet3.vb

Sheet3.cs

Es posible utilizar la clase global, Globals, para tener acceso a ThisWorkbook, Sheet1, Sheet2 o Sheet3 desde fuera de las respectivas clases. Para obtener más información, vea Acceso global a objetos en proyectos de Visual Studio Tools para Office. En el ejemplo siguiente se llama al método PrintPreview de Sheet1, independientemente de si el código está situado en la clase Sheet o en la clase Workbook.

Globals.Sheet1.PrintPreview()
Globals.Sheet1.PrintPreview(missing);

Como los datos de un documento de Excel están muy estructurados, el modelo de objetos es jerárquico y sencillo. Excel proporciona cientos de objetos con los que quizá desee interactuar, pero puede empezar a trabajar con el modelo de objetos centrándose en un subconjunto muy pequeño de los objetos disponibles. Estos objetos incluyen los cuatro siguientes:

  • Aplicación

  • Libro

  • Hoja de cálculo

  • Intervalo

La mayor parte del trabajo realizado con Excel se basa en estas cuatro clases y sus miembros.

Objeto Application

El objeto Application de Excel representa la propia aplicación Excel. El objeto Application expone una gran cantidad de información sobre la aplicación en ejecución, las opciones aplicadas a esa instancia y los objetos de usuario abiertos en la instancia en cada momento.

Nota:

No debe establecer la propiedad EnableEvents del objeto Application de Excel en false. De ser así, se estaría impidiendo que Excel pudiera generar eventos, incluidos los eventos de los controles host.

Objeto Workbook

La clase Microsoft.Office.Interop.Excel.Workbook representa un solo libro en la aplicación Excel.

Visual Studio Tools para Office extiende la clase Microsoft.Office.Interop.Excel.Workbook proporcionando la clase Microsoft.Office.Tools.Excel.Workbook, lo cual le permite obtener acceso a todos los miembros de la colección Workbooks, además de las funciones de enlace de datos y los eventos adicionales.

Objeto Worksheet

El objeto Microsoft.Office.Interop.Excel.Worksheet es miembro de la colección Worksheets. Muchas de las propiedades, métodos y eventos de Microsoft.Office.Interop.Excel.Worksheet son idénticos o similares a los miembros suministrados por las clases Application o Microsoft.Office.Interop.Excel.Workbook.

Excel proporciona una colección Sheets como una propiedad del objeto Microsoft.Office.Interop.Excel.Workbook, pero en Excel no hay ninguna clase Sheet. Cada miembro de la colección Sheets es un objeto Microsoft.Office.Interop.Excel.Worksheet o Microsoft.Office.Interop.Excel.Chart.

Para una personalización de documento, Visual Studio Tools para Office proporciona un elemento host Microsoft.Office.Tools.Excel.Worksheet y crea tres instancias en los nuevos proyectos: Sheet1, Sheet2 y Sheet3. Se puede tener acceso a cualquiera de las hojas a través de la referencia Globals. Visual Studio Tools para Office extiende el objeto Microsoft.Office.Interop.Excel.Worksheet y proporciona el elemento host Microsoft.Office.Tools.Excel.Worksheet.

Objeto Range

El objeto Microsoft.Office.Interop.Excel.Range será el objeto más utilizado en las aplicaciones de Excel. Antes de poder manipular ningún área dentro de Excel, hay que expresarla en forma de objeto Range y trabajar con los métodos y propiedades de ese rango de celdas. Un objeto Range representa una celda, una fila, una columna, una selección de celdas que contiene uno o varios bloques de celdas (que podrían ser contiguos o no), o incluso un grupo de celdas de varias hojas.

Para una personalización de documento, Visual Studio Tools para Office incluye dos controles host de intervalo: el control Microsoft.Office.Tools.Excel.NamedRange y el control Microsoft.Office.Tools.Excel.XmlMappedRange. Para obtener más información sobre los controles host, vea Información general sobre elementos y controles Host.

Objetos extendidos en los proyectos de nivel de documento

Es importante comprender las diferencias entre los objetos nativos proporcionados por el modelo de objetos de Excel y los objetos extendidos (elementos host y controles host) proporcionados por Visual Studio Tools para Office. Ambos tipos de objetos están disponibles en los proyectos de nivel de documento.

Las diferencias se encuentran en las cuatro áreas siguientes:

  • Tiempo de diseño. Al agregar cualquiera de los objetos extendidos de Excel en tiempo de diseño, éstos se crean automáticamente como elementos host y controles host. Por ejemplo, si se agrega una lista a una hoja de cálculo en el diseñador, se genera automáticamente el código necesario para extender la lista a un control Microsoft.Office.Tools.Excel.ListObject.

  • Tiempo de ejecución. Los elementos host no se crean automáticamente en tiempo de ejecución. Si se agregan libros, hojas de cálculo u hojas de gráficos en tiempo de ejecución, serán objetos nativos de Excel y no tendrán las capacidades adicionales que proporcionan los elementos host. Es posible agregar muchos de los controles host mediante programación. Para obtener más información, vea Información general sobre elementos y controles Host.

  • Enlace de datos y eventos. Los elementos host y los controles host poseen funciones de enlace de datos y eventos que no están disponibles para los objetos nativos.

  • Tipos. Los objetos nativos de Excel utilizan los tipos definidos en el espacio de nombres de Microsoft.Office.Interop.Excel, mientras que los elementos host y los controles host utilizan los tipos agregados definidos en el espacio de nombres de Microsoft.Office.Tools.Excel.

Usar la documentación del modelo de objetos de Excel

Para obtener información sobre las clases que se pueden utilizar en el modelo de objetos de Excel, consulte los siguientes conjuntos de documentación:

El primer vínculo proporciona información sobre las clases e interfaces en el ensamblado de interoperabilidad primario de Excel. Los otros vínculos proporcionan información sobre el modelo de objetos de Excel tal como se expone al código de Visual Basic para Aplicaciones (VBA). Cada conjunto de documentación presenta ventajas y desventajas para los desarrolladores que utilizan Visual Studio Tools para Office.

Referencia del ensamblado de interoperabilidad primario

En esta documentación se describen todos los tipos del ensamblado de interoperabilidad primario de Excel que se pueden utilizar en los proyectos de Visual Studio Tools para Office. Sin embargo, esta documentación presenta las desventajas siguientes:

  • Se describen sólo los tipos del ensamblado de interoperabilidad primario para Excel 2003. Para obtener las descripciones de los nuevos tipos y miembros del ensamblado de interoperabilidad primario para Excel 2007, debe consultar la referencia de VBA para Excel 2007.

  • Actualmente no se proporciona ningún ejemplo de código.

Referencia de VBA

Todos los objetos y miembros en la referencia de VBA corresponden a las clases y miembros del ensamblado de interoperabilidad primario que utiliza en proyectos de Visual Studio Tools para Office. Por ejemplo, el objeto Worksheet en la documentación de VBA para Excel corresponde a la clase Microsoft.Office.Interop.Excel.Worksheet en el ensamblado de interoperabilidad primario.

La referencia de VBA presenta las ventajas siguientes:

  • Documenta los modelos de objetos de Excel 2007 y Excel 2003.

  • Proporciona ejemplos de código para la mayoría de los miembros.

La referencia de VBA presenta las desventajas siguientes:

  • Sólo proporciona sintaxis y ejemplos de código para VBA. Para usar los ejemplos de código en un proyecto de Visual Studio Tools para Office, debe traducir el código de VBA a Visual Basic o Visual C#.

Tipos adicionales en los ensamblados de interoperabilidad primarios

Los ensamblados de interoperabilidad primarios contienen muchos tipos que no están disponibles para VBA. Estos tipos adicionales ayudan a convertir los objetos del modelo de objetos basado en COM de Excel a código administrado; no están pensados para usarlos directamente en el código.

Para obtener más información, vea Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Vea también

Conceptos

Soluciones de Excel

Desarrollo de complementos de nivel de aplicación de Excel

Trabajar con celdas

Trabajar con rangos

Trabajar con hojas de cálculo

Trabajar con libros

Desarrollo de personalizaciones de nivel de documento de Excel

Información general acerca del modelo de objetos de Word

Información general sobre elementos y controles Host

Limitaciones de programación de elementos y controles Host

Descripción de los parámetros opcionales en las soluciones de Office

Otros recursos

Controles Host de Excel