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.

Kapitel 7<br />

Technikwissen für Profis: Vorlagen erstellen, verteilen und automatisieren<br />

Zum Schluss fehlt nur noch die Routine pVornamenAuswahl cctvInhaltssteuerelement:=Conte<br />

ntControl, die in der Case-Anweisung der Ereignisroutine dann aufgerufen wird, wenn<br />

das Tag des Inhaltssteuerelements tagVorname lautet. Der Routine wird als Parameter<br />

das Inhaltssteuerelement-Objekt übergeben, sodass man in der Routine beliebig auf<br />

das Objekt zugreifen kann. Diese Vorgehensweise hat den Vorteil, dass keine globalen<br />

Variablen benötigt werden und der Programmcode innerhalb der Case-Anweisung übersichtlich<br />

bleibt.<br />

Die Routine pVornamenAuswahl beginnt mit dem Aufruf der Form, die dafür sorgt, dass<br />

der gewünschte Vorname in der Variablen gstrVorname abgelegt wird. Zum Ändern des<br />

Inhalts des Inhaltssteuerelements wird das Range-Objekt mit Set rngCCT = … gesetzt, bevor<br />

das Objekt den gewählten Namen zugewiesen bekommt und dann mit Nothing gelöscht<br />

wird.<br />

Listing 7.13 Die Anzeige der Form und die Übergabe des gewählten Namens wird in pVornamenAuswahl<br />

geregelt<br />

Sub pVornamenAuswahl(ByVal cctvInhaltssteuerelement As ContentControl)<br />

frmVornamen.Show<br />

Set rngCCT = cctvInhaltssteuerelement.Range<br />

rngCCT.Text = gstrVorname<br />

Set rngCCT = Nothing<br />

End Sub<br />

Wurde die Form mit Abbrechen geschlossen, ist beim erstmaligen Aufruf die Variable<br />

gstrVorname weiterhin leer. Die Übergabe einer leeren Variablen an den Range hat<br />

zur Folge, dass »nichts« übergeben und der Platzhaltertext des Inhaltssteuerelements<br />

nicht verändert wird. Ist der Inhalt der Variablen bereits durch einen vorhergehenden<br />

Aufruf der Form einschließlich Auswahl eines Vornamens gefüllt, sorgt der Klick auf<br />

Abbrechen dafür, dass kein neuer Vorname gesetzt wird und der bereits vorhandene<br />

Name einfach erneut geschrieben wird.<br />

Eine Beispieldatei mit der hier gezeigten Event-Routine finden Sie unter dem Dateinamen VBA_Inhaltssteuerelemente-Ereignisse.dotm<br />

im Ordner Kapitel07.<br />

Formularfelder: Automatisch ausfüllen<br />

und auf Ereignisse reagieren<br />

Formularfelder – gut versteckt auf der Registerkarte Entwicklertools, Gruppe Steuerelemente,<br />

Befehl Vorversionstools in der Gruppe Formulare aus Vorversionen – lassen<br />

sich hervorragend zur Automatisierung von Dokumentvorlagen und Formularen nutzen.<br />

So können Sie Formularfelder per VBA direkt nach dem Laden des Dokuments<br />

mit Benutzerdaten (siehe den Abschnitt »Benutzerdaten abrufen: INI-Datei, Registry<br />

oder Active Directory« weiter vorn in diesem Kapitel) füllen, um Tipparbeit und mögliche<br />

Fehler bei der Eingabe zu reduzieren. Sind die Formularfelder, die wie eine Art<br />

222

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!