Читайте также:
|
|
13-06-Application ScreenUpdating.xlsm - пример к п. 13.4.4.
Позволяет включать (присвоением свойству True) и отключать (присвоением False) обновление экрана. Имеет смысл отключить обновление экрана перед теми частями программы, которые интенсивно пользуются данными на листе. Благодаря тому, что системные ресурсы не будут тратиться на обновление экрана, программа будет работать быстрее. Этот метод весьма актуален, так как MS Excel часто используют для проведения ресурсоемких расчетов.
Практика показывает, что если программа интенсивно использует вывод на экран в процессе работы, если она изменяет данные, которые участвуют в расчете формул, расположенных на листе, то отключение вывода может ускорить работу в 3-10 раз.
Например, ниже (листинг 13.8.) приведен код, который два раза повторяет процедуру 100-кратного вывода на экран 400 целых случайных чисел и выводит время, требующееся для выполнения этих действий с обновлением экрана и без него.
'Массив для значений времени
Dim WorkTime(2)
'Время начала теста
Dim StartTime
'Время окончания теста
Dim StopTime
'Включаем обновление
Application.ScreenUpdating = True
For i = 1 To 2
'Во втором проходе цикла
'выключим обновление
If i = 2 Then _
Application.ScreenUpdating = False
End If
'Запишем текущее время
StartTime = Time
'Перейдем на лист для теста
Worksheets("Тест скорости").Activate
'Выведем 100 раз целые случайные
'числа в область 20х20
For y = 1 To 100
For p = 1 To 20
For j = 1 To 20
ActiveSheet.Cells(p, j) = _
Int(Rnd * 100)
Next j
Next p
Next y
'Запишем время окончания
StopTime = Time
'Для корректного представления
'в виде секунд
WorkTime(i) = _
(StopTime - StartTime) * 24 * 60 * 60
Next i
Application.ScreenUpdating = True
MsgBox "Время выполнения программы." & Chr(13) + _
"При включенном обновлении: " & _
WorkTime(1) & " сек." & Chr(13) & _
"При выключенном обновлении: " & _
WorkTime(2) & " сек."
Дата добавления: 2015-07-25; просмотров: 110 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
SendKeys - имитация нажатий на клавиши клавиатуры | | | Листинг 13.9. Объявляем новый объект типа Excel.Application с событиями (html, txt) |