HOWTO: VB3: Navigate Excel Objects from Visual Basic 3.0ID: Q112194
|
This article explains three methods you can use to navigate and access
Excel Application objects:
Each object in Microsoft Excel version 5.0 exists somewhere in the application's hierarchy of objects. You choose among these objects by navigating down that application's hierarchy. At the top of this hierarchy is the Application object. Whatever events or actions you assign to the Application object affect the entire application. For example:
' Close the application
[Object].Application.Quit
Replace [Object] with any variable that points to any valid Excel
Application Object, which can be created from the following example:
' MyObject represents [Object] and OLE1 represents an OLE control
' that contains an Excel Worksheet object.
MyObject = OLE1.Object
Set MyObject = CreateObject("Excel.Sheet")
Set MyObject = GetObject("C:\EXCEL\EXAMPLES\SAMPLES.XLS")
The Application object contains other large objects. For example, you can
use the following code to refer to the collection of Workbooks currently
loaded in Excel:
[Object].Application.Workbooks
If you want to retrieve a single workbook from the collection, use the Item
method. For example, to refer to the first workbook:
[Object].Application.Workbooks.Item(1)
To close the first workbook:
[Object].Application.Workbooks.Item(1).[Close]
' 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)
This reference can be lengthy and complex; however shortcuts are available.
Understanding the navigation operator (.) is fundamental to successful
object programming.
[Object].Application.Workbooks(1).WorkSheets("Sheet1").Cells(1,1)
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
' 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 = "VB3 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
- Office Development Kit, Programming Integrated Solutions
Additional query words: officeinterop w_VBApp W_Excel WM_OLE OA OLE Automation
Keywords : kbprg IAPOLE vbwin
Version : WINDOWS:3.00
Platform : WINDOWS
Issue type : kbhowto
Last Reviewed: June 30, 1999