Automatisches Einfügen eines Eigenschaftsfelds in Word mit VBA

Wie kann man mit Hilfe von VBA die Dokumenteigenschaften in Word automatisch einfügen?

Uhr

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.

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!






Anzeige