Prozeduren und Parameter optimieren
Datenwerte zurückgeben: Datei-Eigenschaften in Word ändern
Datei-Eigenschaften in Word ändern
Auf dieser Seite
Mit Bild
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.
Mit Bild
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:
Mit Bild
'Code vorher ActiveDocument.BuiltInDocumentProperties(wdPropertyCategory).Value = "Das ist neu" 'Code nachher
Mit Bild
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!
Mit Bild
Also korrigieren Sie die oben bereits eingefügte leere Property aus dem obigen Listing so, dass der folgende Code entsteht:
Mit Bild
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
Mit Bild
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:
Mit Bild
Die Dokument-Eigenschaften werden als Auswahl angeboten
Mit Bild
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.
Mit Bild
DokumentEigenschaften-Dialog mit dem neuen Inhalt