Prozeduren und Parameter optimieren

Datenwerte zurückgeben: Property reagiert wie ein Ereignis

∅ 2.7 / 3 Bewertungen

Property reagiert wie ein Ereignis

Auf dieser Seite

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.