Application.DeferRecalc 属性 (Visio)

确定在一系列操作过程中应用程序是否重新计算单元格公式。 读/写。

语法

表达式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 支持和反馈,获取有关如何接收支持和提供反馈的指南。