Datenwerte zurückgeben
Property reagiert wie ein Ereignis
Wenn Ihr Makro allerdings nichts anderes macht, als in einer Datei nur die Dokument-Eigenschaften zu beschreiben, gibt es eine unschöne Überraschung: Das Dokument hält sich für ungeändert, fragt beim Schließen nicht nach und speichert also nichts davon!
Daher müssen Sie beim Schreiben der Werte in der Let-Property anschließend noch mit ActiveDocument.Saved = False dafür sorgen, dass die Datei vor dem Schließen noch wegen des Speicherns nachfragt.
Ergänzen Sie daher in der Let-Property die fett markierte Zeile des folgenden Codes, mit dem die Datei ausdrücklich auf ungespeichert gesetzt wird:
Public Property Let DocEigenschaft(prpWelche As WdBuiltInProperty, strInhalt As String) ActiveDocument.BuiltInDocumentProperties(prpWelche).Value = strInhalt ActiveDocument.Saved = False End Property
Selbst bei einer harmlosen Kapselung von BuiltInDocumentProperties ist es schon wichtig, dass bei einer Wertzuweisung gleichzeitig Aktionen ausgelöst werden können.
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