In der Microsoft Office-Welt kann man mittel Visual Basic for Application (VBA) vielen routinemäßige Aufgaben über die Programmierung von Makros automatisieren und sich so eine erhebliche Arbeitserleichterung und Effektivitätssteigerung verschaffen.
Für bestimmte Aufgaben ist dann auch ein eigener Benutzerdialog bzw. ein eigenes Formular erforderlich, zum Beispiel, wenn man einen Dateinamen oder die Dateiendung ändern möchte. Oder weil man einen Speicherort festlegen muss, da man einen E-Mail Anhang automatisch speichern möchte.
Das folgende Bild zeigt ein beispielhaftes Formular in der Entwurfsansicht. Aber wie kann man dieses Formular mittels eines Makros aufrufen und anzeigen?
Dazu kann man sich ein Makro bzw. eine Sub-Methode erstellen, die dann über die jeweilige Office-Anwendung (Excel, Word, Outlook) aufrufbar ist. In diesem Beispeil heißt die Methode OpenForm(). Die Methode muss dafür als Public deklariert sein.
'Formualar öffnen
Public Sub OpenForm()
'Parameter/Inhalte an Formularfelder übergeben
MyForm1.MeineTextBox.Text = "Irgendein Text"
'Formular anzeigen
MyForm1.Show
End Sub
Das Formular hat in diesem Beispiel den Namen MyForm1. Das Anzeigen des Formulars erfolgt über die Methode .Show . In der ersten Codezeile übergeben wir noch an die Textbox namens MeineTextBox den Text „Irgendein Text“ vor dem Aufruf des Formulars. Dadurch ist die Textbox gleich mit einem Text vorbelegt. Auf diese Art und Weise lassen sich auch andere Werte an andere Formularelement übergeben.
Hat man den VBA-Code entsprechend umgesetzt, so kann man sich das Formular über Entwicklertools => Makros aufrufen. Das nachfolgende Bild zeigt die Ansicht in Microsoft Outlook. In Excel oder Word kann es etwas anders aussehen.
Das Formular selbst soll dann meist weiteren Code verarbeiten, indem man auf den Okay-Button klickt. Idealerweise sollte ein solche Formular auch immer einen Schließen– oder Abbrechen-Button haben.