Hahner_Microsoft-Word-2010---Das-Ideenbuch_ISBN_9783866457980
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kapitel 7<br />
Technikwissen für Profis: Vorlagen erstellen, verteilen und automatisieren<br />
Praxis bewährt hat sich als Name das Präfix tag gefolgt von der Angabe des Inhalts,<br />
beispielsweise tagVorname oder tagBriefdatum.<br />
<strong>Das</strong> Inhaltssteuerelemente-Tag darf mehrfach genutzt werden, da <strong>Word</strong> dem Inhaltssteuerelement<br />
intern eine eindeutige ID zuweist und so die Inhaltssteuerelemente<br />
unterscheiden kann. Gleiche Namen sind immer dann sinnvoll, wenn Sie beispielsweise<br />
in einer Dokumentvorlage das gleiche Datum an mehreren Stellen einfügen müssen.<br />
In diesem Fall erhalten alle Inhaltssteuerelemente das Tag tagDatum, sodass Sie<br />
beim Ausfüllen per VBA nicht mehrere Fälle unterscheiden müssen.<br />
Sie haben in Ihrer Dokumentvorlage oder in einem Formular Inhaltssteuerelemente für<br />
die Benutzerdaten Vorname, Nachname, Straße, PLZ, Ort sowie für das Datum eingefügt?<br />
Allen Inhaltssteuerelementen ist ein eindeutiges Tag (= Name) zugewiesen? Die<br />
Benutzerdaten wurden mit den weiter vorn in diesem Kapitel im Abschnitt »Benutzerdaten<br />
abrufen: INI-Datei, Registry oder Active Directory« beschriebenen Routinen<br />
bereits ausgelesen und befinden sich in den zugehörigen globalen Variablen? Dann ist<br />
die Übergabe an die Inhaltssteuerelemente mit wenigen Kommandos erledigt.<br />
Listing 7.8 Die Routine übergibt die Benutzerdaten an alle Inhaltssteuerelemente und setzt das Datum<br />
Sub pInhaltssteuerelementeAusfüllen()<br />
Dim cctField As ContentControl<br />
Dim rngCCT As Range<br />
For Each cctField In ActiveDocument.ContentControls<br />
Select Case cctField.Tag<br />
Case "tagDatum"<br />
Set rngCCT = cctField.Range<br />
rngCCT.Text = Now()<br />
Case "tagVorname"<br />
Set rngCCT = cctField.Range<br />
rngCCT.Text = gstrVorname<br />
Case "tagNachname"<br />
Set rngCCT = cctField.Range<br />
rngCCT.Text = gstrNachname<br />
Case "tagStraße"<br />
Set rngCCT = cctField.Range<br />
rngCCT.Text = gstrStraße<br />
Case "tagPLZ"<br />
Set rngCCT = cctField.Range<br />
rngCCT.Text = gstrPLZ<br />
Case "tagOrt"<br />
Set rngCCT = cctField.Range<br />
rngCCT.Text = gstrOrt<br />
End Select<br />
Next<br />
Set rngCCT = Nothing<br />
End Sub<br />
Für den Zugriff auf die Inhaltssteuerelemente wird eine entsprechende Objektvariable<br />
benötigt, die mit Dim cctField As ContentControl definiert wird. Dann werden in einer For-<br />
Each-Schleife alle Inhaltssteuerelemente des aktuellen Dokuments abgefragt. Über die<br />
216