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:


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!







Anzeige