InvisibleApp.DeferRecalc-Eigenschaft (Visio)

Bestimmt, ob die Anwendung Zellformeln innerhalb einer Aktionsreihe neu berechnet. Lese-/Schreibzugriff.

Syntax

Ausdruck. DeferRecalc

Ausdruck Eine Variable, die ein InvisibleApp-Objekt darstellt.

Rückgabewert

Ganze Zahl

HinwBemerkungeneise

Verwenden Sie die DeferRecalc-Eigenschaft, um die Leistung in einer Aktionsreihe zu verbessern. Sie können die Formelneuberechnung beispielsweise verzögern, während Sie die Formeln oder Werte mehrerer Zellen ändern. Nach Abschluss der Aktionsreihe müssen Sie die DeferRecalc-Eigenschaft wieder auf den Wert festlegen, der vor dem Änderungsvorgang angegeben war. Weitere Informationen finden Sie in den folgenden Beispielen.

Wenn Sie Objekte freigeben oder eine große Anzahl von Befehlen an Visio senden, während die Neuberechnung verzögert wird, muss Visio in bestimmten Fällen die Warteschlange ausstehender Neuberechnungen verarbeiten. Aus diesem Grund sollten Sie sehr sorgfältig vorgehen, wenn Sie Formeln innerhalb eines Bereichs festlegen, für den die Neuberechnung verzögert werden soll. Idealerweise sollten Sie Formeln nur festlegen, wenn die Neuberechnung deaktiviert ist.

Betrachten Sie beispielsweise die folgende Vba-Sequenz (Microsoft Visual Basic for Applications).

Dim blsDeferCalcOriginalValue As Boolean 
blsDeferCalcOriginalValue = Application.DeferRecalc 
Application.DeferRecalc = True 
vsoShape.Cells("height").ResultIU = 12 
vsoShape.Cells("width").ResultIU = 14 
Application.DeferRecalc = blsDeferCalcOriginalValue 

Da VBA im oben angegebenen Code ein vorübergehendes Cell-Objekt erstellt und freigibt, wird die Warteschlange an dieser Stelle von Visio verarbeitet.

In der folgenden Sequenz wird die Warteschlange für die Neuberechnungen von Visio erst verarbeitet, wenn die Anwendung die Neuberechnungsfunktion wieder aktiviert (bzw. wenn der Benutzer einen Vorgang ausführt).

Dim blsDeferCalcOriginalValue As Boolean 
blsDeferCalcOriginalValue = Application.DeferRecalc 
Application.DeferRecalc = True 
Set vsoCell1 = vsoShape.Cells("Height") 
Set vsoCell2 = vsoShape.Cells("Width") 
vsoCell1.ResultIU = 12 
vsoCell2.ResultIU = 14 
Application.DeferRecalc = blsDeferCalcOriginalValue 

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.