Einführung "VBA mit Microsoft Office"

Ereignishandler 3. Teil

Wenn kein vordefinierter Ereignishandler existiert, muss man in drei Schritten einen eigenen Ereignishandler schreiben (siehe Application-Objekt in der VBA-Hilfe Word):

  1. Ein neues Klassenmodul, z.B. namens claUeb05_Events, erstellen und und eine Objektvariable deklarieren.
    Public WithEvents App As Word.Application
  2. Nachdem das neue Objekt deklariert wurde, erscheint es im Dropdownfeld des Klassenmoduls, und Sie können Ereignisprozeduren für das neue Objekt schreiben, z.B.
    Private Sub App_NewDocument(ByVal Doc As Document)
      ActiveWindow.ActivePane.View.Zoom.Percentage = 110
    End Sub
  3. In einem anderen Modul muss dieser Eventhandler noch initialisiert werden, z.B. in einem Makro, der beim Öffnen des Dokumentes automatisch startet. Am Modulanfang steht dazu:
    Dim objUeb05_Events As New claUeb05_Events
    Die folgende Prozedur initialisiert die Verbindung:
    Private Sub Document_Open()
      Set objUeb05_Events.App = Word.Application
    End Sub

Übung 5