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.
Inhaltssteuerelemente: Automatisch ausfüllen und auf Ereignisse reagieren<br />
Listing 7.11 Die drei Routinen sind in der Beispielform hinterlegt<br />
Private Sub cmdAbbrechen_Click()<br />
Unload Me<br />
End Sub<br />
Private Sub cmdOK_Click()<br />
gstrVorname = lstVornamen.Text<br />
Unload Me<br />
End Sub<br />
Private Sub UserForm_Initialize()<br />
lstVornamen.AddItem "Alina"<br />
lstVornamen.AddItem "Arno"<br />
lstVornamen.AddItem "Beate"<br />
lstVornamen.AddItem "Dieter"<br />
lstVornamen.AddItem "Frank"<br />
lstVornamen.AddItem "Heike"<br />
lstVornamen.AddItem "Markus"<br />
lstVornamen.AddItem "Peter"<br />
lstVornamen.AddItem "Rainer"<br />
lstVornamen.AddItem "Sebastian"<br />
End Sub<br />
Nachdem die Form zur Auswahl des Inhaltssteuerelement-Inhalts steht, geht es mit<br />
der Routine zum Abfragen des Ereignisses (Klick in das Inhaltssteuerelement) weiter.<br />
Die Ereignisroutine legen Sie wie die Document_New-Routine (siehe Abbildung 7.15) im<br />
ThisDocument-Zweig des VBA-Projekts an. Wählen Sie hierzu rechts im Code-Bereich<br />
am oberen Rand im linken Dropdown-Listenfeld den Eintrag Document und im rechten<br />
Dropdown-Listenfeld den Eintrag ContentControlOnEnter. Daraufhin erzeugt<br />
<strong>Word</strong> die Document_ContentControlOnEnter-Routine, die ab sofort bei jedem Klick in ein<br />
Inhaltssteuerelement im aktuellen Dokument ausgeführt wird. Insofern müssen Sie in<br />
der Routine prüfen, welches Inhaltssteuerelement das Ereignis erzeugt hat, um dann<br />
entsprechend darauf zu reagieren.<br />
Um herauszufinden, welches Inhaltssteuerelement das Ereignis erzeugt hat, nutzen<br />
Sie die ContentControl-Variable, die ein Objekt auf das gewählte Inhaltssteuerelement<br />
darstellt. So lässt sich anschließend mit Select Case ContentControl.Tag komfortabel das<br />
Tag (= »Name«) des Inhaltssteuerelements abfragen:<br />
Listing 7.12 Die Case-Anweisung prüft, welches Inhaltssteuerelement das Ereignis erzeugt hat<br />
Select Case ContentControl.Tag<br />
Case "tagVorname"<br />
pVornamenAuswahl cctvInhaltssteuerelement:=ContentControl<br />
Case "tagNachname"<br />
...<br />
Case "tagStraße"<br />
...<br />
End Select<br />
221