Свойство Application.DeferRecalc (Visio)
Определяет, вычисляет ли приложение формулы ячеек во время ряда действий. Для чтения и записи.
Синтаксис
expression. DeferRecalc
выражение: переменная, представляющая объект Application.
Возвращаемое значение
Целое число
Замечания
Используйте свойство DeferRecalc для повышения производительности во время ряда действий. Например, можно отложить пересчет формул при изменении формул или значений нескольких ячеек. После завершения последовательности действий необходимо всегда возвращать свойству DeferRecalc значение, которое оно имело до изменения. См. приведенные ниже примеры.
Если вы освобождаете объекты или отправляете большое количество команд в Visio во время отсрочки пересчета, Visio иногда может потребоваться обработать свою очередь ожидающих пересчетов. Поэтому используйте осторожность при настройке формул в области, в которой требуется отложить пересчет. В идеале формулы следует задавать только при отключении пересчета.
Например, рассмотрим следующую последовательность Microsoft Visual Basic для приложений (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 и обратная связь.