Library code snippets

Get to know the VBE's event objects

The VBE exposes events a little differently than most Visual Basic
objects. The VBE object contains an Events collection that holds event
handlers for VBProjects, VBComponents, VBControls and References.
These are VBProjectsEvents, VBComponentEvents, VBControlsEvents and
ReferencesEvents, respectively. To expose the events of a specific VBE
object, you create a variable based on the object's event counterpart
and use the WithEvents keyword. Under these circumstances, Visual Basic
then allows you to select the variable's events in the Code window. For
instance, after setting a reference to the Visual Basic 6.0 Extensibility
Library, to expose the VBProjectEvents' events, you declare

Public WithEvents mobjProjEvents As VBIDE.VBProjectsEvents

Then, to create the appropriate variable, you'd use

Public mobjVB As VBIDE.VBE
Set mobjVB = Application
Set mobjProjEvents = mobjVB.Events.VBProjectsEvents


Once you have the variable in place, you can respond to its events. For
instance, suppose you want respond with code every time the user
activated an item, you'd use the following event:

Private Sub mobjProjEvents_ItemActivated(ByVal _
   VBProject As VBIDE.VBProject)
MsgBox "Triggered."
End Sub

Comments

  1. 01 Jan 1999 at 00:00

    This thread is for discussions of Get to know the VBE's event objects.

Leave a comment

Sign in or Join us (it's free).