Hahner_Microsoft-Word-2010---Das-Ideenbuch_ISBN_9783866457980
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Formularfelder: Automatisch ausfüllen und auf Ereignisse reagieren<br />
Listing 7.17 <strong>Das</strong> Datumsformat passt sich den Windows-Ländereinstellungen an<br />
If System.CountryRegion = wdGermany Then<br />
ActiveDocument.FormFields("tmDatum").TextInput.EditType _<br />
Type:=wdDateText, _<br />
Format:="d. MMMM yyyy"<br />
Else<br />
ActiveDocument.FormFields("tmDatum").TextInput.EditType _<br />
Type:=wdDateText, _<br />
Format:="MMMM d, yyyy"<br />
End If<br />
ActiveDocument.FormFields("tmDatum").Result = Now()<br />
Zuständig für das richtige Datumsformat ist bei der EditType-Methode der Parameter<br />
Format, der je nach Windows-Ländereinstellung zwischen dem »deutschen« Format im<br />
Stil von »29. Mai 2013« und dem »englischen« Format im Stil von »May 29, 2013«<br />
unterscheidet.<br />
Setzen Sie in Ihrer Dokumentvorlage oder in Ihrem Formular Kombinationsfeld-<br />
Formularfelder (= Dropdown-Listenfelder) ein, deren Auswahl Sie dynamisch per<br />
VBA anpassen möchten? Um dem Benutzer beispielsweise die Auswahl zwischen verschiedenen<br />
Niederlassungen zu ermöglichen? Übergeben Sie in diesem Fall mit den<br />
folgenden VBA-Kommandos die zur Auswahl stehenden Einträge an das Kombinationsfeld-Formularfeld:<br />
Listing 7.18 Die Einträge im Kombinationsfeld-Formularfeld lassen sich per VBA festlegen<br />
ActiveDocument.FormFields("tmNiederlassung") _<br />
.DropDown.ListEntries.Clear<br />
ActiveDocument.FormFields("tmNiederlassung") _<br />
.DropDown.ListEntries.Add Name:="Berlin"<br />
ActiveDocument.FormFields("tmNiederlassung") _<br />
.DropDown.ListEntries.Add Name:="Hamburg"<br />
ActiveDocument.FormFields("tmNiederlassung") _<br />
.DropDown.ListEntries.Add Name:="Köln"<br />
ActiveDocument.FormFields("tmNiederlassung") _<br />
.DropDown.ListEntries.Add Name:="München"<br />
ActiveDocument.FormFields("tmNiederlassung") _<br />
.Result = "Köln"<br />
Neue Einträge werden im Kombinationsfeld-Formularfeld mithilfe der Methode<br />
.DropDown.ListEntries.Add unter Angabe des Namens, beispielsweise Name:="Köln" hinzugefügt.<br />
Die Reihenfolge im Dropdown-Listenfeld entspricht später exakt der Reihenfolge<br />
des Hinzufügens. Damit beim erneuten Aufruf der Routine die Einträge nicht doppelt<br />
erscheinen, wird das Dropdown-Listenfeld anfangs mit .Clear zurückgesetzt.<br />
Um den voreingestellten Eintrag festzulegen, dient wie bei normalen Textfeld-Formularfeldern<br />
die Methode .Result. Wichtig dabei ist, dass der per .Result übergebene Wert<br />
auch tatsächlich in der Auswahl des Dropdown-Listenfeldes vorhanden ist; andernfalls<br />
erzeugen Sie einen Fehler.<br />
Beispielroutinen zur Anpassung der Formularfeldeigenschaften finden Sie in der Datei VBA_Formularfelder-<br />
Eigenschaften-ändern.dotm im Ordner Kapitel07.<br />
227