Prozeduren und Parameter optimieren

Datenwerte zurückgeben: Datei-Eigenschaften in Word ändern

∅ 2.7 / 3 Bewertungen

Datei-Eigenschaften in Word ändern

Auf dieser Seite

Mit Properties können Sie also einer solchen scheinbaren "Variablen" wie DocEigenschaft einen Wert zuweisen oder diesen auslesen. Da es aber in Wirklichkeit gar keine Variable ist, können Sie sogar auf die Wertänderung wie auf ein Ereignis reagieren. Sie werden sehen, dass das durchaus wichtig sein kann.

Stellen Sie sich vor, Sie müssen an vielen Stellen in Ihrem Code (Word-)Dokument-Eigenschaften ändern. Dann würden Sie beispielsweise eine Zeile schreiben, die das wie im folgenden Listing erledigt:

'Code vorher
ActiveDocument.BuiltInDocumentProperties(wdPropertyCategory).Value = "Das ist neu"
'Code nachher

Das ist nicht nur lästig zu lesen wegen der langen Worte, sondern mindestens ebenso lästig zu schreiben, weil durch einen Deklarationsmangel von BuiltInDocumentProperties leider die Liste der Konstanten wie wdPropertyCategory nicht angezeigt wird. Aber es gibt wenigstens solche Konstanten!

Also korrigieren Sie die oben bereits eingefügte leere Property aus dem obigen Listing so, dass der folgende Code entsteht:

Public Property Get DocEigenschaft(prpWelche As WdBuiltInProperty) As String
	DocEigenschaft = ActiveDocument.BuiltInDocumentProperties(prpWelche).Value
End Property

Public Property Let DocEigenschaft(prpWelche As WdBuiltInProperty, strInhalt As String)
	ActiveDocument.BuiltInDocumentProperties(prpWelche).Value = strInhalt
End Property

Sub TesteDocEigenschaft()
	DocEigenschaft(wdPropertyCategory) = "Test"
	MsgBox DocEigenschaft(wdPropertyCategory)
End Sub

Dabei wird in beiden Properties sowohl ein neues Argument prpWelche mit dem korrekten Datentyp WdBuiltInProperty eingefügt, als auch der Datentyp der Properties selbst auf String geändert.

Diese letzte Änderung betrifft einerseits für die Get-Property die Deklaration nach der schließenden Klammer und andererseits für die Let-Property den Datentyp des letzten Arguments strInhalt. Diese beiden Elemente der beiden Properties gehören immer zusammen.

Das folgende Bild zeigt, dass beim Aufrufen dieser eigenen Property DocEigenschaft nun das prpWelche-Argument durch die Deklaration des Datentyps WdBuiltInProperty korrekt alle vordefinierten Dokument-Eigenschaften anbietet:

58309_enum01.png

Die Dokument-Eigenschaften werden als Auswahl angeboten

Wie Sie mit TesteDocEigenschaft prüfen können, wird in die Kategorie-Eigenschaft des Dokuments das Wort Test geschrieben, welches sich anschließend auch auslesen lässt. Ebenso können Sie das manuell mit dem Menü Datei/Dokument-Eigenschaften prüfen.

58307_dokeigenschaften01.png

DokumentEigenschaften-Dialog mit dem neuen Inhalt