Cómo explorar objetos de Excel desde Visual Basic

Seleccione idioma Seleccione idioma
Id. de artículo: 147650 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo explica tres métodos que puede utilizar para desplazarse y acceso a objetos de aplicación de Microsoft Excel:

  • Mediante propiedades normales y predeterminado
  • Utilizar alias
  • Utilizando los métodos primarios y de aplicación de objetos de Microsoft Excel versión 5.0 para tener acceso cualquier objeto de Microsoft Excel

Más información

Cada objeto de Microsoft Excel versión 5.0 en algún lugar existe en la jerarquía de la aplicación de objetos. Elegir entre estos objetos desplazándose hacia abajo jerarquía de dicha aplicación. En la parte superior de esta jerarquía es el objeto Application. Cualquier eventos o acciones que se asigne al objeto Application afecta a toda la aplicación. Por ejemplo:
   ' Close the application
   [Object].Application.Quit
				
reemplazar [objeto] con cualquier variable que apunta a cualquier válido Microsoft Excel Application, que puede crearse en el siguiente ejemplo:
   ' MyObject represents [Object] and OLE1 represents an OLE control
   ' that contains an Microsoft Excel Worksheet object.
   MyObject = OLE1.Object
   Set MyObject = CreateObject("Excel.Sheet")
   Set MyObject = GetObject("C:\EXCEL\EXAMPLES\SAMPLES.XLS")
				
objeto de la aplicación contiene otros objetos grandes. Por ejemplo, puede utilizar el código siguiente para hacer referencia a la colección de libros cargados actualmente en Microsoft Excel:
   [Object].Application.Workbooks
				
si desea recuperar un único libro de la colección, utilice el método Item. Por ejemplo, para hacer referencia a del primer libro:
    [Object].Application.Workbooks.Item(1)
				
para cerrar el primer libro:
   [Object].Application.Workbooks.Item(1).Close
				

Acceso a objetos referencia normales o las propiedades predeterminadas

Cada libro contiene una colección de hojas de cálculo, cada hoja de cálculo contiene una colección de celdas y así sucesivamente. (Consulte la documentación de Microsoft Excel y Ayuda de menú para obtener detalles específicos acerca de la jerarquía de objetos de Microsoft Excel). En el código, las referencias a una celda específica podrían este aspecto:
   ' Following refers to cell A1 on Sheet1 in the first workbook.
   ' Enter the following two lines as one, single line:
   [Object].Application.Workbooks.Item(1).
      WorkSheets.Item("Sheet1").Cells.Item(1,1)
				
esta referencia puede ser larga y compleja; sin embargo, accesos directos están disponibles. Comprender el operador de desplazamiento (.) es fundamental para la programación de objeto correcta.

Short reduce

Todos los objetos tienen una propiedad predeterminada y un método. Para las colecciones, el método predeterminado es el método Item. Para la mayoría de los objetos, la propiedad Name es la propiedad predeterminada. Esta convención se implementó para simplificar la programación. Por ejemplo, se puede simplificar el ejemplo anterior:
   [Object].Application.Workbooks(1).WorkSheets("Sheet1").Cells(1,1)
				

Acceso a objetos mediante objetos de alias

Puede utilizar alias para simplificar la programación del objeto. Si tuviera que escribir mucho código que estaba manipulando Sheet1, por ejemplo, la sintaxis podría convertirse en larga. Para evitar esto, cree un objeto que señala el objeto común más bajo. Esto se conoce como alias. Utilice la instrucción Set para crear un alias:
   Dim Sheet1 as Object
   ' Alias Sheet1 to represent [Object]...WorkSheets("Sheet1")
   Set Sheet1 = [Object].Application.Workbooks(1).WorkSheets("Sheet1")
   ' Now just use the variable Sheet1 to refer to Sheet1.
   Sheet1.Cells(1,1).Value = "Title"
   Sheet1.Cells(1,2).Value = "ID"
   Sheet1.Cells(1,3).Value = "Cost"
   Sheet1.Cells(2,1).Value = "Phone"
   Sheet1.Cells(2,2).Value = 123413423
   Sheet1.Cells(2,3).Value = 89.95
				

Acceso a objetos mediante Parent y métodos de aplicación

Los métodos primarios y de aplicación permiten desplazarse copia de seguridad de la jerarquía de objetos. Se desplaza el método de aplicación hacia atrás hasta el objeto de la aplicación y el método Parent se desplaza un nivel de la jerarquía de objetos hacia arriba. Todos los ejemplos de este artículo se inician con [objeto]. Siempre que [objeto] sea un objeto válido de Microsoft Excel, todas las instrucciones también son válidas. Independientemente del contexto de [objeto].

Esto es muy útil al programar el objeto de Microsoft Excel desde Visual Basic versión 4.0. Microsoft Excel sólo expone los tres objetos que pueden utilizarse como puntos de entrada a Microsoft Excel. Estos son:

  • Excel.Application
  • Excel.Sheet
  • Excel.Chart
No se preocupe por Excel.Application.5. Excel.Application siempre se señalar a la versión más reciente de Microsoft Excel. Excel.Application.5 señalará sólo a Microsoft Excel versión 5.0.

No hay ningún expuesto objeto de libro, por lo que no existe ninguna forma de acceso al objeto de libro directamente. Sin embargo, esto no es un problema porque el método primario de un objeto Chart o Worksheet devuelve el objeto Workbook. El código de ejemplo siguiente ilustra este punto.

Nota: oleExcel es un control OLE que contiene un objeto Excel.Sheet.
   ' Declare object references:
   Dim Xlapp As object
   Dim XLWkb As object
   Dim XLWks As object
   Dim XLWksNew As object

   oleExcel.Action = 7   ' Activate OLE Object

   Set XLWks = oleExcel.Object   ' Alias Worksheet object
   Set XLWkb = XLWks.Parent      ' Alias WorkBook object
   Set Xlapp = XLWks.Application ' Alias Application object

   ' Add a new worksheet to the Workbook and name it:
   Set XLWksNew = XLWkb.Worksheets.add  ' Assign alias to new Worksheet
   XLWksNew.Name = "VB4 OLE Automation" & XLWkb.Worksheets.count

   ' Make the 3rd Worksheet of the Workbook active:
   XLWkb.Worksheets(3).Activate

   ' Display the dialog for InsertPicture:
   Xlapp.dialogs(342).[Show]  ' xlDialogInsertPicture = 342
				

Referencias

Kit de desarrollo Office, programación Solutions integrados

Propiedades

Id. de artículo: 147650 - Última revisión: miércoles, 11 de octubre de 2006 - Versión: 2.3
La información de este artículo se refiere a:
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 16-bit Enterprise Edition
  • Microsoft Excel 5.0 Standard Edition
Palabras clave: 
kbmt kb16bitonly kbhowto kbprogramming KB147650 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 147650
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com