Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Word 2016: Formulare

Hart-kodierte Einträge, Textdateien und XML

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Man kann mit ein paar Zeilen VBA-Code Kombinationsfelder und Listenfelder aus externen Datenquellen füllen.
06:39

Transkript

Wenn Sie die gesamten Videos bisher verfolgt haben, dann ist Ihnen sicherlich aufgefallen, dass ich etwas nonchalant übergangen habe, diese Kombinationsfelder der ActiveX-Steuerelemente. Ich habe in einem kleinen Nebensatz gesagt, "Na ja, gut, die muss man programmieren." Jetzt zeige ich Ihnen mal ganz deutlich, wie man diese Kombinationsfelder programmiert. Ich habe hier auf dem Formular bereits drei solcher Kombinationsfelder eingefügt. Sehen Sie am Aussehen, und mit einem Klick auf das Pfeifchen sehen Sie auch, ein Text steht drin, aber dummerweise nur einer. Ich möchte sie natürlich füllen. Das Füllen von diesen Feldern funktioniert nicht. Ich wechsle mal in den Entwurfsmodus, in die "Eigenschaften". Sie haben hier leider keine Eigenschaft, mit der ich hier die entsprechenden Daten eintragen kann. Die einzige Möglichkeit ist, ein kleines VBA-Skript zu schreiben. Ich zeige Ihnen mal drei Varianten, was man machen kann, wie man solche Listen füllen kann, und gebe damit natürlich auch einen Ausblick, was man noch so alles mit den Formularen anstellen kann. Die erste Combobox füllt diese Liste, indem die vorhandenen Einträge gelöscht werden, und dann schreibt er nacheinander "Anton", "Berti", "Conni", eben die Mainzelmännchen rein, und der erste Eintrag wird hier ausgewählt. Lassen wir das Makro mal laufen. Ich kann es hier im Einzelschritt-Modus "Debuggen Einzelschritt" "Einzelschritt", "Einzelschritt" durchlaufen lassen oder einmal durch. Und jetzt ist die Liste hier drüben in Word gefüllt. Jetzt stehen die Namen drin. Das wäre eine hard kodierte Lösung für das Füllen einer ActiveX-Kombinationsfeldsliste. Das hat sicherlich seine Berechtigung, ist aber nur dann geeignet, wenn die Namen sich nicht ändern. Interessanter wird es natürlich, wenn ich Informationen von außerhalb von Word, das heißt, von einer Excel-Tabelle, einer Datenbank oder -- warum gleich mit Kanonen auf Spatzen schießen -- von einer Textdatei oder einer XML-Datei auslese. Das habe ich hier bei den beiden unteren gemacht. Ich zeige Ihnen mal eine Textdatei, ich habe hier eine kleine Namensliste, und da sind auch wieder Zwerge drin. Die sieben Zwerge, die möchte ich ganz gerne hier reinschreiben. Diese Textdatei heißt "Namen.txt" und liegt am gleichen Speicherort wie dieses Word-Dokument . Das heißt, ich überprüfe, ob das Dokument einen Pfad hat, ich leere die Combobox, ich öffne von dem Pfad, von dem Dokument, die Datei "Namen.txt", "do loop until end of file" Ich habe sie mit der Nummer eins geöffnet, ich durchlaufe diese Nummer 1 bis zum Ende. und schreibe mit "input" alle Einträge, alle Datensätze in zwei Variablen und zu füllen nun die Combobox mit der Methode "AddItem strPersName" und Klammer auf, den entsprechenden Zwerg und Klammer zu. Das heißt also, der gleiche Befehl wie hier oben, mit "AddItem" kann diese Liste gefüllt werden. Danach schließe ich die Datei, ganz wichtig, "close" und wähle den ersten Eintrag aus. Lassen wir mal durchlaufen. Schauen wir uns das Ergebnis, hier drüben in Word an, die Zwerge wurden nun eingetragen. Prima. So kann man auf eine Textdatei zugreifen und die Namen dynamisch auslesen. Interessant oder vielleicht interessanter ist natürlich eine XML-Datei. Mit einer XML-Datei -- das werden Sie jetzt gleich sehen -- kann ich auf die einzelnen Knoten, auf die Elemente zugreifen, und dafür habe ich natürlich auch eine kleine Datei vorbereitet, die zeige ich Ihnen mal. Hier ist diese XML-Datei. Sie sehen die "processing instructionen: der Prolog, xml version, encoding = UTF-8. Hier ein kleiner Kommentar -- das sind einfach die Sieben Weltwunder mit einem Wurzelelement und den entsprechenden Kind-Elementen mit Text drin. Ein sehr einfaches, sehr kleines XML Dokument -- normalerweise sind sie natürlich viel größer. Auch dieses XML-Dokument kann ausgelesen werden und kann verwendet werden, um so eine Liste zu füllen. Dazu muss ich natürlich, ganz wichtig, einen Verweis setzen, über "Extras" "Verweise" auf die entsprechende XML-Klasse, die auf meinem Rechner installiert ist. Ich habe eines der Höchsten genommen, "60", "OK", deklariere nun als Dokumentvariable, als Objektvariable, XML vom Typ "document", XML-Knoten vom Typ "node". Ich brauche eine Zählerschleife, um diese einzelnen Knoten zu durchlaufen. Ich überprüfe, ob es die XML-Datei überhaupt gibt, in dem gleichen Ordner, wenn ja, okay. Dann schaffe ein neues XML-Dokument und lade in das neue XML-Dokument diese XML-Datei rein. Dann greifen wir auf das Wurzer-Element zu. Ich weiß, ein wohlgeformtes XML-Dokument muss ein Wurzel-Element haben. und hole mir den Namen hier raus. Ich leere die Combobox, durchlaufe vom Nullten -- achtung, die Zählung beginnt hier bei "0" -- vom Nullten bis zur Anzahl der Kind-Elemente der Unterelemente, der Elemente tieferer Ordnung. Das ist die Anzahl, natürlich "-1" weil wir er bei "0" beginnen. Ich füge jetzt in die Combobox "AddItem" von dem Knoten, also dem Wurzel-Element von allen seinen Kindern, das Kind Nummer 1234 hinzu und ganz genau von diesen Kindern, den Text also den Inhalt, und dann leere ich das Ganze. So, einmal testen. Lauf mal bitte, lauf mal, lauf mal. Lassen wir durchlaufen, geht schneller. und schauen nun in Word nach, was er gefüllt hat, und Sie ahnen es, natürlich hat er die Liste gefüllt. Schön ist anders, ich hätte die Liste natürlich breiter machen sollen. Ich wollte hier in diesem kleinen Video einen Ausblick geben, wie Sie mit VBA Listen füllen können, beziehungsweise andere Formularfelder steuern können, wenn Informationen außerhalb des Dokuments liegen. Das können ".INI"-Dateien sein, das können Textdateien sein, das können auch XML-Dokumente sein. Man kann natürlich noch heftiger gleich auf Datenbanken oder auf Excel-Dokumente losgehen und Information, die dort drin gespeichert sind rüberschreiben in die Formulare, oder auch umgekehrt. Information, die in den Formularen eingetragen werden nach Excel, beziehungsweise in eine Datenbank überführt werden. Aber das ist Thema für ein eigenes Videotraining, das möchte ich hier an dieser Stelle nicht zeigen, sondern ende hier.

Word 2016: Formulare

Gestalten Sie Formulare in Word 2016 und nutzen Sie die unterschiedlichen Steuerelemente. Als Bonus finden Sie auch noch Programmierbeispiele für besondere Zwecke.

2 Std. 21 min (35 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:09.09.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!