ID: Q172055
The information in this article applies to:
Visual Basic 5.0 introduced a keyword, WithEvents, that enables your Visual Basic application to respond to the events triggered by an ActiveX server. This article illustrates how you can use WithEvents in your Visual Basic application to trap the Quit event of the Microsoft Word Application object.
To trap the events of an ActiveX server, you must first declare a variable that will mirror the actual object. In this example, the ActiveX object is the Word Application. The declaration appears as follows:
Dim WithEvents objWord As Word.Application
Once the Word.Application object is declared in this manner, you can
respond to the events that it triggers. For example, to respond to the Quit
event of objWord that references Word.Application, you can create a sub
procedure named objWord_Quit.
NOTE: At the time this article is being written, Microsoft Word 97 is the only Microsoft Office application that exposes a Quit event.
1. In the Visual Basic editor, start a new "Standard EXE" project.
2. Click References on the Project menu. Check "Microsoft Word 8.0 Object
Library" and click OK.
3. Click Add Class Module on the Project menu. The default class module
name is Class1.
4. Add the following code to Class1:
Option Explicit
Dim WithEvents objWord As Word.Application
Private Sub Class_Initialize()
Form1.Label1.Caption = "Starting Word..."
'Instantiate a new instance of Word and add
'a new document
Set objWord = New Word.Application
objWord.Documents.Add
objWord.Visible = True
Form1.Label1.Caption = "Word is running..."
End Sub
Private Sub objWord_Quit()
'Respond to the Quit event of Word
Form1.Label1.Caption = "Word Quit!"
End Sub
5. Add a Label and a CommandButton to Form1.
6. Add the following code to Form1:
Option Explicit
Dim objAppWithEvents As Class1
Private Sub Command1_Click()
'Instantiate Class1
Set objAppWithEvents = New Class1
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set objAppWithEvents = Nothing
End Sub
7. Press the F5 key to run the application. Click Command1. The new
instance of Word is loaded. Once the application is loaded and visible,
the caption of the label on Form1 reads "Word is running..." Quit Word.
Once Word exits, the caption of the label changes to "Word Quit!" in
response to the Quit event of Word.
Additional query words: KBINTEROP kbVBp500 kbVBp600 kbVBp kbdsd kbDSupport
Platform : WINDOWS
Issue type : kbhowto
Last Reviewed: August 7, 1998