28.03.2019 Aufrufe

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!