Visio (的 Application.DeferRecalc 屬性)

決定應用程式是否將在一連串動作中重新計算儲存格公式。 讀取/寫入。

語法

運算式DeferRecalc

expression 代表 Application 物件的變數。

傳回值

整數

註解

可以在一連串動作執行時使用 DeferRecalc 屬性來改善效能。 例如,您可以在變更數個儲存格的公式或值時,延遲公式的重新計算。 當這一連串的動作完成時,一定要將 DeferRecalc 屬性設回變更之前的值。 請參閱下列範例。

如果您在延遲重新計算時,釋放物件或對 Visio 傳送大量的命令,Visio 有時可能需要處理擱置的重新計算佇列。 因此,在要延遲重新計算的範圍內設定公式時,請謹慎進行。 在理想的狀況下,應該只在重新計算功能關閉時才設定公式。

例如,請考慮下列 Microsoft Visual Basic for Applications (VBA) 順序。

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

由於 VBA 在前述的程式碼中建立及釋放暫時的 Cell 物件,所以 Visio 會在那個時候處理其佇列。

在下列的序列中,Visio 會等到應用程式再度開啟重新計算功能 (或使用者執行某項作業) 時,才處理重新計算佇列。

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 

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應