28.03.2019 Aufrufe

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!