MS VBA | Прервать работу кода с помощью BreakPoint

Если перед вызовом функции пометить ее в каком-нибудь месте "точкой останова" (BreakPoint, F9), то после запуска программа остановится на помеченном BreakPoint в ожидании дальнейших действий разработчика – пройтись ли "по шагам" (Step Into) или "пропустить команду" (Step Over – переход к следующему BreakPoint) и т.д. – см. в меню Debug (View, Debug).

Также, с помощью данной нам (шикарной, к слову сказать) отладки можно просматривать полученные значения переменными, отслеживать какие-то предварительные или окончательные результаты функций, возвращаться к командам вспять, приписывать тестовые куски и проходить их отладчиком, и так далее.

 

Пример:

 

1. Поставим BreakPoint на название функции UserName с помощью выставленного на данную строку курсора и F9:

 

 

 

2. В окне Immediate вызовем имя функции:

?UserName()

(см. также как работать с окном Immediate)

 

3. Точка останова (BreakPoint) сработает и остановит работу функции на строке, на которой стоит BreakPoint:

 

 

 

4. С помощью меню (или панели) Debug можно "пошагать" по командам кода, если необходимо что-то приписывая, возвращаясь назад, чтобы снова пройтись и отладить одни и те же команды. "Возвращаться" назад (или пропустить, пройти вперед) можно с помощью перетаскивания желтой метки на необходимую команду – точку нового отсчета.

 

 

 

5. Просматривать результаты можно наведением мышью на пройденные (испытанные) выражения и переменные. Например в начале функции UserName видим, что UserName еще пуст (рис. 1), пройдя же все шаги и остановившись на End Property, видим, что UserName уже принял обработанное значение имени пользователя (рис. 2):

 

Рис. 1

 

 

Рис. 2

 

 

 

Использован материал из примера Получить логин пользователя.

 



© 2018 | Анна Петросян | pashelp@yandex.ru