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:```vba
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:```vba
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:```vba
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.
