Word: Struktur eines VBA-Programms

Jeder, der sich bereits einmal mit der Programmierung von Anwendungen unter Windows beschäftigt hat kennt die Programmiersprache Visual Basic. Diese ermöglicht dem Anwender schnell kleinere bis mittlere Anwendungen zu programmieren. Bei Visual Basic for Applications handelt es sich um eine Programmiersprache die weitgehend dem bekannten Visual Basic entspricht. Es gibt hier allerdings einen gravierenden Unterschied.

Makros, die in Visual Basic for Applications programmiert sind, werden immer von der jeweiligen Anwendung – also Word, Excel, Access – gestartet. Diese Makros sind nicht ereignisgesteuert. Das bedeutet sie sind auf Informationen angewiesen, die von den Anwendungen geliefert werden. Im Gegensatz dazu ist ein Visual Basic-Programm ein ereignisgesteuertes Programm. Das Programm empfängt direkt alle Nachrichten die Windows versendet und kann auf die Windows-Nachrichten reagieren, die für das Visual Basic-Programm selber bestimmt sind.

Stellen Sie sich vor Sie haben ein Word-Makro geschrieben das ein Dialogfeld anzeigt. Wird dieses Dialogfeld angezeigt, dann wird es auch irgendwann vom Anwender mit der OK-Schaltfläche geschlossen. Das Ereignis – OK-Schaltfläche betätigt – hat eine Windows-Nachricht zur Folge. Diese Nachricht wird aber nicht direkt Ihrem Programm – dem Word-Makro – gesendet, sondern Word 2000. Ihr Makro erhält die Nachricht über Word selber und kann erst dann darauf entsprechend reagieren, zum Beispiel Daten sichern, Einstellungen vornehmen oder Wordoptionen ändern.

Ihr Visual Basic for Applications-Programm kann die folgenden Module enthalten:

v  Module, die Befehle enthalten, die den Programmablauf steuern. Diese Module können als Standard-Module mit der Dateiendung .BAS oder als Klassenmodule mit der Dateiendung .CLS vorliegen.

v  Module, die Dialogfelder enthalten. Diese Module werden Forms oder Formulare genannt. Hier sind alle Steuerelemente wie Listenfelder, Schaltflächen, Textfelder oder sogar Grafiken enthalten.Form-Module kann man sich als Container für die einzelnen Steuerelemente vorstellen. Sie tragen die Dateiendung .FRM.

v  Zusatzsteuerelemente – auch Active X Controls genannt – die meist von anderen Anbietern als Erweiterung bestehender oder als neue Steuerelemente für Visual Basic for Applications angeboten werden. Diese tragen üblicherweise die Dateiendung .OCX.

Ein Visual Basic for Applications-Programm besitzt neben Formularen oder Steuerelementen auch noch Prozeduren und Funktionen. Das sind Programmteile, die eine ganz bestimmte kleine Aufgabe in einem größeren Programm erfüllen. Wir werden in den folgenden Abschnitten neben der Behandlung von Datentypen auch Funktionen und Prozeduren kennenlernen. Doch zuvor sollte der sichere Umgang mit dem Visual Basic-Editor erlernt werden.

Die mobile Version verlassen