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

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
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