Prozeduren und Parameter optimieren

Von: Lorenz Hölscher
Stand: 1. Juni 2011
3.5
(2)
Beitrag bewerten
Anmelden um Kommentare zu schreiben

Datenwerte zurückgeben

Datei-Eigenschaften in Word ändern

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:

	ActiveDocument.BuiltInDocumentProperties(wdPropertyCategory).Value = "Das ist neu"

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:

Bild vergrößernDie 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.

DokumentEigenschaften-Dialog mit dem neuen Inhalt

Dies ist eine Leseprobe

Möchten Sie den Beitrag komplett lesen? Dann werden Sie Probemitglied und testen Sie akademie.de 14 Tage kostenlos!

Auf VBA: Prozeduren und Parameter optimieren erfahren Sie mehr über diesen Beitrag und die weiteren Leseproben.

Weitere Informationen finden Sie auf unserer Infoseite zur Mitgliedschaft und in unseren AGB.

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein