Detail: Word-Hilfsmittel mit Inhaltssteuerelemente

23.08.2010 - Word-Hilfsmittel mit Inhaltssteuerelemente

Wer mich kennt weiß, dass mir die Verwendung von Dokumentenvariablen nicht sonderlich gefällt. Durch ein Kundenprojekt kam ich auf die Idee, eine neue Art von Wordhilfsmittel zu verwenden.

Dazu verwende ich die Inhaltssteuerelemente von Word. Zu finden sind sie bei Word 2007 im Register der Entwicklertools. Ganz einfach lassen sich dabei die Textelemente oder Kontrollkästchen einbauen und ansprechen.

Beispiel Textfeld:
oActiveDocument.FormFields.Item("Text").Result = ActiveAddress.Fields("Text").Value

Beispiel Textfeld mit Wert eines Kennzeichens
oActiveDocument.FormFields.Item("Ken").Result = ActiveAddress.Fields("Ken").Value.Description

Beispiel Kontrollkästchen:
oActiveDocument.FormFields.Item("logo").CheckBox.Value = ActiveAddress.Fields("logo").Value

So blendet man die Entwicklertools bei Word ein:
- Gehen Sie auf die Office-Schaltfläche und anschließend auf die Schaltfläche "Word-Optionen" betätigen und in der Kategorie "Häufig verwendet" das Kontrollfeld "Entwicklerregisterkarte in der Multifunktionsleiste anzeigen" einschalten

Nun lassen sich die Steuerelemente problemlos einfügen:
- Setzen Sie den Cursor an die Stelle der Dokumentenvorlage, an der ein Inhaltssteuerelement eingefügt werden soll
- Klicken Sie in der Gruppe "Steuerelemente" auf das Symbol für das gewünschte Inhaltssteuerelement
- Word fügt nun das entsprechende Element an der aktuellen Cursorposition ein

Ein große Vorteil der daraus resultiert ist, dass die Formatierung der Felder/Elemente menugestützt funktioniert. So lassen sich beispielsweise die Eigenschaften bestimmter Inhaltssteuerelemente definieren(Text, Datum, Zahl).
Ein weiterer Vorteil wäre der Schutz von Formularen. Sie können mithilfe des Dokumentenschutzes das gesamte Formular schützen. Nach dem Einschalten des Schutzes, sind Eingaben nur noch in der Inhaltssteuerung möglich.
Weiterhin lassen sich die einzelnen Elemente ganz einfach berechnen, was für einen Rechnungsdruck sehr interessant sein kann. Auch Word-eigene Makros können eingesetzt und angesprochen werden. Zum Beispiel ist es möglich eine eigene Replace-Funktion in der Vorlage zu verwenden, welche für die Zeilenumbrüche zuständig ist.

Beispielmakro:

' Heiko Jendreck - personal helpdesk & webdesign
' http://www.phw-jendreck.de
' Version 1.01.067 2010.08.23 HJe
' Musterbeispiel für AG-VIP_SQL und Word
' Inhaltssteuerelemente - Legacytools
Option Explicit
' Verbindung zu Word herstellen
Dim oActiveDocument
Set oActiveDocument = TargetObject
Dim oApplication
Set oApplication = oActiveDocument.Application
oApplication.Visible = True
Dim oActiveWindow
Set oActiveWindow = oApplication.ActiveWindow
Dim oSelection
Set oSelection = oApplication.Selection

' Wir übergeben das Text-Feld Nachname
oActiveDocument.FormFields.Item("Nachname").Result = ActiveAddress.Fields("NameLast").Value

' Wir übergeben ein Kennzeichenfeld
' Mit ActiveAddress.Fields("Ken").Value - Zugriff auf den Wert des Kennzeichenfeldes
' Mit ActiveAddress.Fields("Ken").Value.Description - Beschreibung des Kennzeichenfeldes
oActiveDocument.FormFields.Item("Ken").Result = ActiveAddress.Fields("Ken").Value.Description

'Wir übergeben ein logisches Feld in eine Checkbox
oActiveDocument.FormFields.Item("logo").CheckBox.Value = ActiveAddress.Fields("logo").Value

zurück

Copyright © 2003 - 2011, Heiko Jendreck, All rights reserved
http://www.phw-jendreck.de / Heiko Jendreck; Friedrichstrasse 20; 68782 Brühl