Обработка ошибок Применение окна Immediate при обнаружении ошибок в программах VBA

          Назад



6.2.4 Окно Immediate


Отладка и обнаружение ошибок в программах VBA, окно Immediate, просмотр значений переменных, выполнение команд в окне Immediate

Это — мое любимое средство отладки.

В окне Immediate (вызвать его можно через меню View или <Ctrl>+<G>) можно просматривать или изменять значения переменных и свойств объекта. Просмотр может выглядеть так:

Print nResult

Print oDoc.FullName

или еще проще:

?nResult

?oDoc.FullName

Print в данном случае — это метод объекта Debug. Вывод в окно Immediate можно произвести при помощи этого объекта и просто из кода программы:

Debug.Print nResult

Преимуществом этого метода перед обычным MsgBox() является то, что при работе не в отладочном окружении (то есть, когда ваша программа уже эксплуатируется пользователями) все вызовы методов объекта Debug просто игнорируются. (У этого объекта есть еще метод Assert() — переход по условию).

Изменение значений перемененных и свойств в окне Immediate производится точно так же, как в коде программы.

В окне Immediate можно также вызывать процедуры и функции вашей программы или методы объектов — точно так же, как в коде программы. Microsoft рекомендует перед вставкой в программу проверять потенциально опасный код (например, который может завесить систему) в этом окне.

А можно использовать это окно просто как калькулятор, вводя там выражения вида

Print 25*115

Пример окна Immediate с некоторыми выполненными действиями представлен на рис. 6.3

Рис. 6.3 Пример применения окна Immediate

Чтобы не печатать в окне Immediate выражения и имена переменных, которые уже есть в коде, можно воспользоваться перетаскиванием участков кода в окно Immediate из окна редактора кода с нажатой клавишей <Ctrl> (чтобы происходило копирование).




Далее