Esta documentación está archivada y no tiene mantenimiento.

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. Este tema presenta las clases más importantes:

En su mayor parte, el modelo de objetos emula directamente a la interfaz de usuario. Por ejemplo, el objeto Application representa toda la aplicación y cada objeto Workbook contiene una colección de objetos Worksheet. A partir de ahí, las celdas que representan la abstracción principal constituyen el objeto Range, que permite trabajar con celdas concretas o grupos de celdas.

Microsoft Visual Studio 2005 Tools para Microsoft Office System (VSTO 2005) extiende muchos de estos objetos nativos a elementos host y controles host que se pueden utilizar en las personalizaciones de nivel de documento. Estos controles tienen funcionalidad adicional que incluyen capacidades 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, a la vez que expone eventos. Para obtener más información sobre los elementos host y los controles host, vea Información general sobre elementos y controles Host.

Para obtener información completa sobre el modelo de objetos de Excel 2003, vea la documentación de Visual Basic para Aplicaciones (VBA) que se instala con Excel o "Welcome to the Microsoft Office Excel 2003 VBA Language Reference" (http://go.microsoft.com/fwlink/?linkid=27951). Para obtener información completa sobre el modelo de objetos de Excel 2007, vea la documentación de VBA que se instala con Excel o el contenido para desarrolladores de Microsoft Office System 2007 en el sitio Web de MSDN (http://go.microsoft.com/fwlink/?LinkId=72870).

Acceso a los objetos de un proyecto de Excel

Cuando crea un nuevo proyecto de nivel de aplicación para Excel con Microsoft Visual Studio 2005 Tools para Microsoft Office System 2007 (VSTO 2005 SE), 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.

Cuando crea un proyecto de nivel de documento para Excel con VSTO 2005, tiene la opción de crear una nueva aplicación de Excel o un proyecto de plantilla de Excel. VSTO 2005 crea automáticamente los siguientes archivos de código en el nuevo proyecto de Excel tanto para proyectos de documento 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 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 el proyecto. El ejemplo siguiente 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(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. Entre éstos se incluyen:

  • Application

  • Workbook

  • Worksheet

  • Range

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.

NoteNota

No se debería 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, que proporciona acceso a todos los miembros de la colección Workbooks, así como capacidades de enlace de datos y 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. En su lugar, cada miembro de la colección Sheets es un objeto Microsoft.Office.Interop.Excel.Worksheet o Microsoft.Office.Interop.Excel.Chart. Visual Studio Tools para Office proporciona un elemento host Microsoft.Office.Tools.Excel.Worksheet y crea tres instancias: Sheet1, Sheet2 y Sheet3 al crear el proyecto. El acceso a cualquiera de las hojas puede realizarse a través de la referencia Globals. Visual Studio Tools para Office extiende el objeto Microsoft.Office.Interop.Excel.Worksheet para proporcionar 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 más bloques de celdas (que podrían ser contiguos o no), o incluso un grupo de celdas de varias hojas.

Visual Studio Tools para Office introduce dos controles host de rangos: 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 suministrados por el modelo de objetos de Excel y los objetos extendidos (elementos host y controles host) suministrados por VSTO 2005, ya que ambos tipos de objetos están disponibles para los proyectos de nivel de documento. Entre algunos puntos que se deben tener en cuenta se encuentran:

  • 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 y convertirla en 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.

Vea también

Mostrar: