VBA-Formulare


Intelligente VBA Formulare mit Logik

Wem die Möglichkeiten des integrierten texManager Formulargenerators nicht ausreichen, sollte man sich einmal die leistungsfähigen VBA-Formulare (UserForms) ansehen.

 

texManager bietet mit der Schnittstelle zu VBA eine zusätzliche Möglichkeit, um sehr leistungsfähige und intelligente Formulare und Applikationen zu erstellen. Diese Funktion richtet sich an den Power-User und Programmierer.

 

Zusätzlich zum integrierten texManager Formulargenerator können nun eigene Formulare (UserForms) in VBA erstellt und mit Textbausteinen und dem Dokumentengenerator kombiniert werden. Eingaben können u.a. auf Gültigkeit geprüft werden und den Texterstellungsprozess beeinflussen. Es steht der volle Funktionsumfang von Visual Basic for Application (VBA) zur Verfügung.

 

Mit diesen UserForms können intelligente Formulare erstellt werden, die auch ungeübte Benutzer sicher durch einen komplexen Dokumentenerstellungsprozess führen. Zum Beispiel können abhängig von der Eingabe einzelne Felder aktiviert oder deaktiviert werden oder es werden Hinweise und Fehlermeldung ausgegeben.


Diese Formulare können mit der in Word integrierten Entwicklungsumgebung erstellt und in einer Word-Vorlage (z.B. myForms.dotm) gespeichert werden. Hier können mehrere Formulare abgelegt werden, um eine einfache und zentrale Verwaltung zu ermöglichen. Diese Vorlagen können in texManager als eigener Baustein importiert oder verknüpft werden. Sobald ein Textbaustein mit einem verbundenen Formular eingefügt wird, erscheint dieses, um Eingaben entgegen zu nehmen.

 

Weitere Informationen zu UserForms findet man in der Word-Dokumentation und im Internet. Zu diesem Thema bieten wir auch Schulungen an.

Aus eines VBA-Formulars
Auswahl eines VBA Formulars im Textbaustein-Editor

Jedes dieser Formulare kann einem -wie bei den texManager Formularen- beliebigen Textbausteinen oder Textbausteinlisten zugeordnet werden. VBA-Formulare erkennt man an der Buchstabenkombination "vb" in der Bezeichnung.

Bei Feld <Makro> gibt man den Namen des Start-Makros ein, welches das entsprechende Formular aufruft.

VBA-Formulardaten in Textbausteinen und Dokumenten einbetten

In dem Textbaustein werden u.a. Dokumentenvariablen über die Word-Feldfunktion {DocVar <Platzhaltername>} eingefügt und mit den Formulareingaben synchronisiert. Das UserForm kann eine Übergabe-Schaltfläche beinhalten, wo ein kurzer Code gestartet wird.

Bsp.:

ActiveDocument.Variables("Nachname").Value = Nachname.Text

ActiveDocument.Variables("Vorname").Value = Vorname.Text

ActiveDocument.Fields.Update()

VBA Formular und Textbaustein
VBA Formular und Textbaustein

Die Platzhalter im Textbaustein werden zuerst mit den Formulardaten gefüllt und danach wird der aktualisierte Textbaustein in das Dokument eingefügt. Die Formulare können auf eine Vielzahl externer Datenquellen zugreifen.

Dokumentengenerator: Beim Generieren eines Dokuments wird jedes Mal ein VBA-Formular aufgerufen, wenn ein entsprechender Textbaustein mit einem Formular verbunden wurde.

texManager Textbausteine aus einem VBA-Formular abrufen

Die Daten werden in das Formular eingegeben und ausgewertet. Entsprechend der Eingaben können Textbausteine aus den texManager-Datenbank abgerufen und in einen Text eingefügt werden. D.h. das VBA-Formular steuert die Textgenerierung.

Durch die Trennung von Layout und Content, haben Änderungen an den Textbausteinen keinen negativen Einfluss auf das Layout und umgekehrt.

 

Die Formulare und das Layout werden mit dem VBA Screen-Designer erstellt. Die Formular-Logik, wird in einer separaten Textdatei verwaltet.

 

Über die texManager COM-Schnittstelle können bequem die texManager Textbausteine eingefügt werden.

Dabei werden nicht nur einzelne, sondern auch ganze Textbausteinlisten (Kombinationstexte) aufgerufen.

 

Die VBA-Formulare werden zusammen mit den Textphrasen in der texManager-Datenbank gespeichert. Diese Formulare können mit jedem Textbaustein oder mit dem Dokumentengenerator aufgerufen werden. texManager erkennt automatisch beim Einfügen, dass es sich um ein spezielles VBA-Formular handelt und startet es automatisch.

 

VBA-Formulare können nicht nur Eingaben entgegennehmen und prüfen, sowie Platzhalter befüllen, sondern auch komplette Dokumente entsprechend den gemachten Eingaben automatisch generieren.

Der Programmcode und die Logik des Formulars werden in einem separaten Modul verwaltet. Für jedes Element kann eine eigene Validierung oder eine Steuerung implementiert werden. 

 

Über die API-Funktion InsertTB(cKurzBez, cDatenbank) wird die Verbindung zum texManager hergestellt, der dann die entsprechenden Textblöcke in das Dokument einfügt.

 

Es muss nur die Kurzbezeichnung des Bausteins und die Bezeichnung der Textbaustein-Datenbank angegeben werden.

 

Diese Funktion liegt im Quellcode vor und kann für eigene Wünsche angepasst werden.

 

Hinweis:

Weitere Informationen zu VBA-Formularen (UserForms) und Programmen finden Sie in Ihre Microsoft Word Dokumentation.

 

Wir erstellen gerne in Ihrem Auftrag individuelle VBA-Formulare, die Sie dann selber pflegen können.