Einleitung
Das Bearbeiten von Dokumenten in Microsoft Word kann oft zeitaufwendig sein. Insbesondere beim Einfügen von Dokumenteigenschaften. Hier kommt VBA (Visual Basic for Applications) ins Spiel. Es ermöglicht die Automatisierung verschiedener Aufgaben. In diesemwollen wir uns anschauen, ebenso wie man ganz einfach Eigenschaftsfelder in Word-Dokumente einfügen kann.
Automatisches Einfügen aller Eigenschaften
Mit VBA kann man automatisch sämtliche eingebauten Dokumenteigenschaften in ein Word-Dokument einfügen. Ein Beispielcode zeigt wie das funktioniert:
Option Explicit
Sub Property_Read()
Dim MyProperty As Object
Dim MyRange As Range
Set MyRange = ActiveDocument.Content
MyRange.Collapse Direction:=wdCollapseEnd
For Each MyProperty In ActiveDocument.BuiltInDocumentProperties
With MyRange.InsertAfter
MyProperty.Name & "= "
On Error Resume Next
.InsertAfter MyProperty.Value
End With
Next
End Sub
Mit diesem Code wird jede einzelne eingebaute Eigenschaft ans Dokumentende geschrieben. Die Verwaltung von Dokumenteigenschaften wird durch diesen Prozess enorm erleichtert.
Selektives Einfügen von Eigenschaften
Nicht alle Eigenschaften sind immer relevant. Daher ist es ebenfalls möglich spezifische Eigenschaften auszuwählen. Der folgende Code demonstriert dies:
Option explicit
Sub some_Property()
Dim MyProperty As Object
Dim MyRange As Range
Set MyRange = ActiveDocument.Content
MyRange.Collapse Direction:=wdCollapseEnd
For Each MyProperty In ActiveDocument.BuiltInDocumentProperties
With MyRange
On Error Resume Next
Select Case MyProperty.Name
Case ""
.InsertAfter MyProperty.Name & "= "
.InsertAfter MyProperty.Value
Case "Subject"
.InsertAfter MyProperty.Name & "= "
.InsertAfter MyProperty.Value
' Weitere Cases für andere Eigenschaften hinzufügen
End Select
End With
Next
End Sub
Hier werden nur derund das Thema eingefügt. Weitere Eigenschaften könnten ähnlich wie hinzugefügt werden um den Anforderungen gerecht zu werden.
Benutzerdefinierte Eigenschaften automatisch einfügen
Ebenfalls eine nützliche Funktion: Das automatische Einfügen von benutzerdefinierten Eigenschaften. Zu diesem Zweck kann der nachfolgende VBA-Code verwendet werden:
Sub Custom_Change()
Dim MyRange As Range
Dim MyProperty As Object
Dim I As Long
Set MyRange = ActiveDocument.Content
MyRange.Collapse Direction:=wdCollapseEnd
With ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:="Delete"
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
For Each MyProperty In ActiveDocument.CustomDocumentProperties
With MyRange
.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty,= _
"DOKEIGENSCHAFT " & MyProperty.Name
' Weitere Anpassungen für benutzerdefinierte Eigenschaften hinzufügen
End With
Next
Selection.GoTo What:=wdGoToBookmark, Name:="Delete"
Selection.MoveDown Unit:=wdLine, Count:=I, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=I
End Sub
Dieser Code ermöglicht es, benutzerdefinierte Eigenschaften zusammen mit den Standard-Eigenschaften in das Dokument einzufügen.
Fazit
Die Nutzung von VBA in Word zur automatischen Einfügung von Dokumenteigenschaften spart Zeit und sorgt für eine klar strukturierte Dokumentation. Die Flexibilität, sowie alle, einige ausgewählte als auch benutzerdefinierte Eigenschaften einzufügen, bietet viele Möglichkeiten für verschiedene Anwendungen. Zusatzlich kann der Makrorecorder von Word genutzt werden. Er zeichnet manuelle Aktionen auf und hilft dabei den generierten Code zu verstehen. Automatisiere deine Word-Dokumente und nutze die Vorteile von VBA!
