次の方法で共有


InvisibleApp.DeferRecalc プロパティ (Visio)

連続したアクションの間に、セルの数式を再計算するかどうかを判別します。 値の取得と設定が可能です。

構文

DeferRecalc

InvisibleApp オブジェクトを表す変数。

戻り値

整数

注釈

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 のサポートおよびフィードバックを参照してください。