Visual Basic for Applications (VBA): Programmieren von Dialogfeldern

Visual Basic for Applications stellt unter Word 2000 14 Steuerelemente zur Verfügung. Mit Hilfe dieser Steuerelemente lassen sich Dialogfelder individuell gestalten. Sie können damit Ihren Programmen eine für Textverarbeitungen einmalige Funktionalität verleihen, denn die zielgerichtete Kommunikation mit dem Anwender stellt eine nicht zu unterschätzende Größe dar. Programme die umständlich zu bedienen sind, werden von den Anwendern heute nicht akzeptiert, und der Unmut darüber wird Sie als Programmierer schnell treffen.

Im folgenden werden Sie die einzelnen Steuerelemente kennenlernen und etwas über die Programmierung derselben erfahren. Doch zuvor noch einige Erläuterungen zum Gestalten von Dialogfeldern.

Designen eines Dialogfelds

Dialogfelder werden im Visual Basic-Editor entwickelt und genau wie Makros in Dokumentvorlagen gespeichert. Ein Dialogfeld nennt man auch FORM oder wie im Visual-Basic-Editor USERFORM. Zur Erstellung eines Dialogfeldes aktivieren Sie zuerst das Fenster USERFORM über das Menü Einfügen und den Befehl USERFORM.

Auf dem Bildschirm erscheint das Fenster USERFORM mit einer leeren Dialogfeld-Vorlage. Gleichzeitig öffnet sich auf die Symbolleiste WERKZEUGSAMMLUNG mit der RegisterkarteSTEUERELEMENTE. Wählen Sie eines der 14 Steuerelemente aus und bewegen Sie den Cursor über das leere Dialogfeld, dieser wechselt sein Aussehen in ein Fadenkreuz mit zusätzlichem Steuerelement-Icon.

Halten Sie die linke Maustaste gedrückt und ziehen Sie den Cursor solange, bis das Steuerelement die von Ihnen gewünschte Größe hat. Sie können das Steuerelement positionieren, indem Sie den Cursor auf die gestrichelte Markierung bewegen und das Steuerelement bei gedrückter linker Maustaste verschieben. Diese Vorgehensweise gilt für alle Steuerelemente, die Ihnen zur Verfügung stehen.

Gestalten eines Dialogfelds mit verschiedenen Steuerelementen.

Sobald Sie auf ein Steuerelement oder das Dialogfeld selber klicken, werden im Fenster EIGENSCHAFTEN die für dieses Steuerelement bzw. für das Dialogfeld verfügbaren Eigenschaften angezeigt. Diese Eigenschaften beziehen sich nicht nur auf die Größe des Steuerelements oder den Namen, sondern auch auf viele andere Dinge, die für die Darstellung und Verwaltung wichtig sind. Die meisten Eigenschaften sind selbsterklärend, deshalb kann hier auf eine detaillierte Darstellung verzichtet werden.

Die zweite wichtige Gruppe ist der Programmcode für die Ereignissteuerung eines jeden Steuerelements. Sie können für jedes Ereignis, das ein Steuerelement ereilt, eine eigene Prozedur erstellen, in der dann genau festlegt ist, was passieren soll, wenn das Ereignis eintritt. Dazu führen Sie nur einen Doppelklick auf das Steuerelement aus. Auf dem Bildschirm erscheint das CODEFENSTER für dieses Steuerelement.

In der linken Hälfte der Titelzeile des CODEFENSTERS befindet sich ein Drop-Down-Listenfeld aus dem Sie weitere Steuerelemente auswählen können. Das für Sie wichtigere Drop-Down-Listenfeld befindet sich in der rechten Hälfte der Titelzeile. Hier können Sie ein Ereignis auswählen für das Sie eigenen Programmcode erstellen wollen. Öffnen Sie dazu das Drop-Down-Listenfeld und wählen Sie das entsprechende Ereignis aus.

Sie möchten zum Beispiel beim Verlassen eines Dialogfelds alle Einstellungen speichern, wenn die OK-Schaltfläche betätigt wurde. Dazu führen Sie auf die von Ihnen definierte OK-Schaltfläche einen Doppelklick aus und wählen aus dem EREIGNISFELD in der Titelzeile des CODEFENSTER das Ereignis CLICK aus. Auf dem Bildschirm erscheint eine Prozedurvorlage, in die Sie nur noch den Programmcode für die Speicherung der Dialogfeld-Einstellungen eingeben müssen.

Erstellung einer Ereignisprozedur im Visual-Basic-Editor.

Selbstverständlich müssen Sie nur die Ereignisse mit Programmcode hinterlegen, auf die Sie auch tatsächlich in Ihrem Programm reagieren wollen oder müssen. Alle anderen Ereignisse bleiben unberührt. Diese werden von Visual Basic for Applications selbst verwaltet.

Kommentar schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.