The Object Model
Visual Basic for Applications
2
Objectives
In this tutorial, you will learn how to:
Refer to the objects contained in an application’s
object model
Use the Object Browser in the Visual Basic Editor
Enter instructions in the Immediate window in the
Visual Basic Editor
Refer to the most commonly used objects in Excel,
Word, and Access
2
Concept Lesson:Understanding the Object Model
Although all VBA-enabled applications
share the same language, each contains
its own unique set of objects, referred to
as the application’s object model
A collection object, typically referred to
simply as a collection, is a group of one or
more individual objects treated as one unit
2
Simplified Object Modelfor a Library
2
Referring to the Objects Containedin an Application’s Object Model
You can refer to an individual object within a collection using either its name or its position number in the collection
The Application rectangle represents the Application object
Immediately below the Application rectangle is the Presentations (Presentation) rectangle, which represents both the Presentations collection and the individual Presentation objects within the collection
2
The Most Commonly Used PowerPoint Objects
2
Referring to the Objects Containedin an Application’s Object Model
The Slides (Slide) rectangle is one level down from the Presentations (Presentation) rectanglein the object model
The plural word Slides denotes the name of the collection, and the singular word Slide indicates the type of object included inthe collection
2
Referring to Objectsin VBA Code
You can use VBA to refer to any element in an application’s object model, but to do so you must specify the object’s exact location in the object model’s hierarchy
You begin at the top of the hierarchy, with the Application object, and then work your way down each level until you reach the desired element
You can refer to a specific object within a collection using either the object’s name, enclosed in quotation marks, or its position number within the collection, referred to as its index
In most collections, the index of the first object in the collection is 1
2
Referring to an Object’s Properties and Methods in VBA Code
2
A property is a characteristic of an object, and a method is an action that an object can perform on its own
The Application object has a Name property that stores the Application object’s name, and it has a Quit method that is used to end the application
You use the expression.property syntax in a VBA instruction to access an object’s property, and you use the expression.method syntax to invoke one of its methods
Referring to an Object’s Properties and Methods in VBA Code
Before you can customize an application,
you need to become familiar with the
objects in its object model
One way to do so is to use the Object
Browser, which is available in the Visual
Basic Editor
2
The Object Browser
The Object Browser allows you to browse through all available objects in an application and see their properties, methods, and events
2
The Object Browser2
A class is the formal definition of an object; it defines the properties that control the object’s appearance, and the methods and events that control the object’s behavior
All of the information pertaining to an application’s object model is stored in an object library, which is simply a file
The PowerPoint Application Object’s Help Screen
2
Getting Help in theObject Browser
You can view an object’s Help screen by clicking the object’s class in the Classes list box, and then clicking the Help button located at the top of the Object Browser window
According to the Help screen, the Application object represents the entire Microsoft PowerPoint application
To view a listing of these lower-level objects, you need simply to click the Multiple Objects rectangle; doing so will open the Topics Found dialog box
2
Getting Help in theObject Browser
2
To view a Help screen for one of these objects, you select the object’s name in the list, and then click the Display button
You can view the Help screen for an individual Presentation object by clicking Presentation in the Presentations Collection Object Help screen
Presentations Collection Object Help Screen
2
Using the Immediate Window
In addition to the Code window, the Visual Basic Editor also provides an Immediate window into which you can enter VBA instructions
2
Using the Immediate Window
The Application.Quit instruction does not begin with a question mark
Because Quit is a method, which represents an action that an object can perform, it does not store a value that can be displayed, as does a property
The Quit method simply instructs the application toclose itself
2
Using the Immediate Window
In the ?Application.Presentations.Count instruction, Application.Presentations specifies the location of the Presentations collection in the object model, and Count specifies the desired property
The Application.Presentations.Count reference indicates that the Count property is a member of the Presentations collection, which is contained in the Application object
Applications.Presentations(2) is the expression, and it indicates that the object is the second Presentation object contained within the Presentations collection, which is contained within the Application object; Name is the property whose value you want to display
2
Using the Immediate Window2
Immediate Window Showing Additional VBA Instructions and Their Results
2
Repeating and Deleting Instructionsin the Immediate Window
If you want to repeat an instruction, you
can either retype the instruction after the
last instruction in the Immediate window,
or you can select the instruction in the
Immediate window, copy it to the
clipboard, and then paste it after the last
instruction in the Immediate window
2
Printing Code from the Immediate Window
You can use either a text editor or a word
processor—for example, WordPad or Word—
to print the instructions entered in the
Immediate window
Like the Object Browser and the Help screens,
the Immediate window is an invaluable tool for
learning an application’s object model
2
Summary
To refer to an object in an application’sobject model:
Specify the object’s exact location in theobject model
If the object is a member of a collection, include either the object’s name or its index in a set of parentheses following the collection’s name
To access the property of an object: Use the expression.property syntax
To invoke one of an object’s methods: Use the expression.method syntax
2
Summary
To view information about the various objects available to your application:
Open the Object Browser window by clicking the Object Browser button on the Visual Basic Editor’s Standard toolbar
Select the appropriate object library from the Project/Library list box
Click the appropriate keyword in the Classes list box, and then click the Help button
2
Summary
To use the Immediate window in the Visual Basic Editor:
Open the Immediate window in the Visual Basic Editor by clicking View on the Visual Basic Editor menu bar, and then clicking Immediate window
Enter the instruction in the Immediate window You can copy and paste instructions from one part
of the Immediate window to another Remove one or more lines from the Immediate
window by selecting the lines you want to remove and then pressing either the Delete key or the Backspace key
2
Excel Lesson:Understanding the Excel
Object Model Figure 2-17
shows the portion of the Microsoft Excel object model that includes the most commonly used Excel objects
2
Understanding the Excel Object Model
A Range object in Excel is defined asa cell, a row,a column, ora selectionof cells containing one or more contiguous or noncontiguous blocks of cells
2
Using the ObjectBrowser in Excel
The Object Browser is a useful tool for understanding the structure of an object model and for studying the various objects included in the model, as well as the properties and methods of the objects
To access the Object Browser in Excel, use the steps on pages 102 to 105 of the textbook
A Multiple Objects rectangle representsthe next level of objects in the objectmodel hierarchy
2
Object Browser Window Showing the Excel Object Library
2
Microsoft Visual Basic Help Window
2
Using the ObjectBrowser in Excel
2
Using the ObjectBrowser in Excel
To view the next level of objects in the object model hierarchy use the steps on pages 106 to 108 of the textbook
2
Workbook Object Help Screen2
Using the ImmediateWindow in Excel
Unlike the Code window, the Immediate window allows you to test a line of code without having to create and run anentire procedure
To open Martin’s workbook, save the workbook, and enter several VBA instructions into the Immediate window, use the steps on pages 108 to 112 ofthe textbook
2
QtrSales.xls Workbook2
Visual Basic Editor Showing Open Project Explorer and
Immediate Windows
2
VBA Instructions Entered in the Immediate Window
2
Referring to Range Objects
A Range object in Excel is defined as a cell, a row, a column, or a group of contiguous or noncontiguous cells
For referring to Range Objects, use the steps on pages 113 to 115 of the textbook
2
Additional Instruction Entered in the Immediate Window
2
Jackson Worksheet Showing Selection of a Range Object
Consisting of Noncontiguous Cells
2
Word Lesson:Understanding the Word
Object Model Figure 2-31 shows the portion of the Microsoft Word
object model that includes the most commonly used Word objects
2
Word Objects and Collections2
Understanding the Word Object Model
A Range object in Word is defined as a contiguous area in a document; it can be assmall as the insertion point or as large as the entire document
Although a paragraph is a contiguous area in a document, it is considered a Paragraph object rather than a Range object
The Application object, which refers to Microsoft Word, contains one Document object in its Documents collection
The Document object’s name is Word Lesson.doc
2
Understanding the Word Object Model
The Word Lesson document also contains five sentences in its Sentences collection; each sentence is a Range object
Like the Sentences collection, the Words collection also consists of Range objects
The Characters collection also consistsof Range objects, but each Range object in this collection is composed of exactly one character
2
Using the Object Browser in Word
2
To access the Object Browser in Word use the steps on pages 122 to 125of the textbook
Microsoft Visual Basic Help Window2
Quit Method Help Screen2
Example Showing the QuitMethod in a VBA Instruction
2
Using the Object Browserin Word
To view the next level of objects in the object model hierarchy, use the steps on pages 125 to 127 of the textbook
If you are using a color monitor, you will notice that the object model diagram located at the top of the Help screen contains two blue rectangles and one yellow rectangle
You can use this Help screen to display a listing of the properties, methods, and events associated with a Document object
2
Documents Collection Object Help Screen
2
Document Object Help Screen2
Using the Immediate Window
You will enter several VBA instructions into the Immediate window in the Visual Basic Editor
Recall that, unlike the Code window, the Immediate window allows you to test a lineof code without having to create and run an entire procedure
To open Pat’s document, then save the document and enter several VBA instructions into the Immediate window, use the steps on pages 128 to 132 of the textbook
2
Offer Document2
Visual Basic Editor Showing Open Project Explorer and Immediate Windows
2
Using the Immediate Window2
The first VBA instruction you will enter into the Immediate window, ?Application.Name, will display the value stored in the Application object’s Name property
When you are told to enter an instruction, you always will be shown the complete instruction to enter
Using the Immediate Window
To use the Selection object, use the steps on pages 132 and 133 of the textbook
2
Using the Range Object’s Select Method
2
You can use the Range object’s Select
method to select a word, sentence,
paragraph, or character in a document
To use the Select method in the Offer
document, use the steps on page 134 of
the textbook
Access Lesson:Understanding the Access
Object Model Figure 2-43 shows the portion of the Microsoft
Access object model that includes several of the most commonly used Access objects
2
Understanding the Access Object Model
In Access, forms and reports are considered AccessObject objects
You will use the Object Browser in the Visual Basic Editor, to display a Help screen for the Application object in Access
2
Using the Object Browser in Access
To use the Object Browser in Access, use the steps on pages 140 to 144 of the textbook
2
Microsoft Visual Basic Help Window
2
Quit Method (Application Object) Help Screen
2
The syntax of the method is Application.Quit
Using the Object Browser in Access
2
When you enter the Quit method in either the Immediate or Code windows, the Auto List Members list shows that the names of the constants are acQuitPrompt, acQuitSaveAll, and acQuitSaveNone
Using the Object Browser in Access
2
To view the next level of objects in the object model hierarchy, use the steps listed on pages 145 to 146 of the textbook
Notice that a Multiple Objects rectangle, which represents the objects located on the next level in the object model hierarchy, appears below the CurrentProject rectangle in the Help screen
AllReports CollectionHelp Screen
2
Using the ImmediateWindow in Access
You will enter several VBA instructions into the Immediate window in the Visual Basic Editor
To enter several VBA instructions into the Immediate window, use the steps on pages146 to 149 ofthe textbook
2
VBA Instructions Entered in the Immediate Window
2