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