Información general sobre el modelo de objetos de Excel

Para desarrollar soluciones que utilicen Microsoft Office Excel, puede interactuar con los objetos suministrados por el modelo de objetos de Excel. En este tema se presentan los objetos más importantes:

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 Excel 2007 y Excel 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

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.

Además del modelo de objetos de Excel, los proyectos de Office en Visual Studio proporcionan elementos host y controles host que extienden algunos de los objetos de ese modelo de objetos. Los elementos host y los controles host se comportan como los objetos de Excel que extienden, pero también presentan otra funcionalidad, como la del enlace a datos y eventos adicionales. Para obtener más información, vea Automatizar Excel usando objetos extendidos y Información general sobre elementos y controles Host.

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.

vínculo a vídeo Dispone de una demostración en vídeo relacionada en How Do I: Use Event Handlers in an Excel 2007 Add-in? y How Do I: Use Shapes to Create a Bubble Chart in Excel?.

Acceso a los objetos de un proyecto de Excel

Cuando crea un nuevo proyecto de nivel de aplicación para Excel, 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 de nivel de documento para Excel, tiene la opción de crear un nuevo proyecto de libro de Excel o de plantilla de Excel. Visual Studio crea automáticamente los siguientes archivos de código en los nuevos proyectos de Excel, tanto de libro como 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 Globals en el proyecto 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 los proyectos de Office. En el ejemplo siguiente se llama al método PrintPreview de Sheet1, independientemente de si el código está situado en una de las clases Sheetn o la clase ThisWorkbook.

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 estos cuatro objetos 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

El objeto Microsoft.Office.Interop.Excel.Workbook representa un solo libro en la aplicación Excel.

Las herramientas de desarrollo de Office en Visual Studio extienden el objeto Microsoft.Office.Interop.Excel.Workbook proporcionando el tipo Microsoft.Office.Tools.Excel.Workbook. Este tipo da acceso a todas las características de un objeto Microsoft.Office.Interop.Excel.Workbook, así como a nuevas características como la capacidad de agregar etiquetas inteligentes a un libro. Para obtener más información, vea Elemento host Workbook.

Nota

Las etiquetas inteligentes están desusadas en Excel 2010 y Word 2010. Para obtener más información, vea Información general sobre etiquetas inteligentes.

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 los objetos Application o Microsoft.Office.Interop.Excel.Workbook.

Excel proporciona una colección Sheets como una propiedad de un objeto Microsoft.Office.Interop.Excel.Workbook. Cada miembro de la colección Sheets es un objeto Microsoft.Office.Interop.Excel.Worksheet o Microsoft.Office.Interop.Excel.Chart.

Las herramientas de desarrollo de Office en Visual Studio extienden el objeto Microsoft.Office.Interop.Excel.Worksheet proporcionando el tipo Microsoft.Office.Tools.Excel.Worksheet. Este tipo da acceso a todas las características de un objeto Microsoft.Office.Interop.Excel.Worksheet, así como a nuevas características como la capacidad de hospedar controles administrados y de controlar nuevos eventos. Para obtener más información, vea Elemento host 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.

Visual Studio extiende el objeto Microsoft.Office.Interop.Excel.Range al proporcionar los tipos Microsoft.Office.Tools.Excel.NamedRange y Microsoft.Office.Tools.Excel.XmlMappedRange. Estos tipos tienen la mayoría de las características de un objeto Microsoft.Office.Interop.Excel.Range, además de otras nuevas, como la capacidad de enlace de datos y nuevos eventos. Para obtener más información, vea NamedRange (Control) y XmlMappedRange (Control).

Usar la documentación del modelo de objetos de Excel

Para obtener información completa sobre el modelo de objetos de Excel, puede consultar la referencia del ensamblado de interoperabilidad primario de Excel (PIA) y a la referencia del modelo de objetos de VBA.

Referencia del ensamblado de interoperabilidad primario

La documentación de referencia del PIA de Excel describe los tipos del ensamblado de interoperabilidad primario de Excel. Esta documentación está disponible en la siguiente ubicación: Referencia del ensamblado de interoperabilidad primario de Excel 2010.

Nota

El PIA de Excel 2007 no se documenta en este momento. Sin embargo, los tipos del PIA de Excel 2007 también se incluyen en el PIA de Excel 2010, por lo que la información de esta documentación de referencia también se aplica a Excel 2007.

Para obtener más información sobre el diseño del PIA de Excel, por ejemplo las diferencias entre las clases e interfaces del PIA y cómo se implementan los eventos del PIA, vea Información general de las clases e interfaces en los ensamblados de interoperabilidad primarios de Office.

Referencia del modelo de objetos de VBA

La referencia del modelo de objetos de VBA documenta el modelo de objetos de Excel tal como se expone al código de Visual Basic para Aplicaciones (VBA). La referencia del modelo de objetos de VBA para Excel está disponible en las siguientes ubicaciones:

Todos los objetos y miembros de la referencia del modelo de objetos de VBA corresponden a tipos y miembros del ensamblado de interoperabilidad primario de Excel. Por ejemplo, el objeto Worksheet de la referencia del modelo de objetos de VBA corresponde al objeto Microsoft.Office.Interop.Excel.Worksheet del PIA de Excel. Aunque la referencia del modelo de objetos de VBA proporciona ejemplos de código para la mayoría de las propiedades, métodos y eventos, debe convertir el código de VBA de esta referencia a Visual Basic o Visual C# si desea utilizarlos en un proyecto de Excel que cree mediante Visual Studio.

Temas relacionados

Título

Descripción

Cómo: Crear un modelo BDC

Explica cómo puede crear personalizaciones en el nivel del documento y complementos en el nivel de la aplicación para Microsoft Office Excel.

Cómo: Agregar un archivo de modelo BDC existente a un proyecto de SharePoint

Proporciona ejemplos que muestran cómo realizar tareas comunes con las celdas.

Cómo: Usar un archivo de recursos para especificar nombres, propiedades y permisos localizados

Proporciona ejemplos que muestran cómo realizar tareas comunes con intervalos.

Cómo: Incluir un ensamblado personalizado en una característica de BDC

Proporciona ejemplos que muestran cómo realizar tareas comunes con hojas de cálculo.

Trabajar con libros

Proporciona ejemplos que muestran cómo realizar tareas comunes con libros.

Historial de cambios

Fecha

Historial

Motivo

Mayo de 2010

Se ha actualizado la información sobre la documentación de referencia del modelo de objetos.

Mejora de la información.