6.2.3 Действия в режиме паузы
Отладка и обнаружение ошибок в программах VBA, действия в режиме паузы, пошаговое выполнение, переход на строку в программе, просмотр значений переменных
В режим паузы обычно входят для того, чтобы предпринять какие-то действия. Что можно сделать в этом режиме:
- продолжить выполнение в пошаговом режиме. Для этого можно воспользоваться меню Debug -> Step Into или просто нажать на клавишу <F8>;
- если в строке программы происходит вызов какой-то процедуры, которая уже отлажена и проблем вызвать не должна, то у вас есть возможность выполнить ее без остановок и перейти к следующему оператору. Для этой цели используется команда Debug -> Step Over (или <Shift>+<F8>);
- если вы все-таки зашли в процедуру, выполнили там необходимые действия и хотите быстро довести ее выполнение до конца, то в вашем распоряжении — команда Debug -> Step Out (или <Ctrl>+<Shift>+<F8>);
- если вы хотите, например, исполнить код не пошагово, а участками (например, чтобы не проводить пошаговое выполнение больших циклов), вы можете щелкнуть правой кнопкой мыши по нужному участку кода и в контекстном меню выбрать Run to Cursor (альтернатива — воспользоваться той же командой в меню Debug или нажать <Ctrl>+<F8>). Программа пройдет вперед на выбранный вами отрезок и вновь остановится в том месте, в котором у вас находился курсор;
- если вам нужно "перепрыгнуть" через какой-то участок кода, вызывающий ошибку, можно воспользоваться командой меню Debug -> Set Next Statement (или нажать <Ctrl>+<F9>), а затем перетащить желтую отметку по левой границе вниз (или вверх). Альтернативный способ пропуска команд — выделить ненужный блок и при помощи панели инструментов Edit его закомментировать (но тогда потом придется снимать комментарии);
- если в процессе просмотра кода вы ушли достаточно далеко и вам хочется вернуться к месту остановки без долгих розысков, то в вашем распоряжении -команда Show Next Statement;
- чтобы просто продолжить выполнение после остановки, можно нажать на клавишу <F5> или воспользоваться командой Continue (она появится вместо команды Run) в меню Run. Прекратить выполнение программы можно при помощи команды Reset в том же меню или клавишами <Alt>+<F4>. Кроме того, в вашем распоряжении одноименные кнопки на панели инструментов Standard.
Чаще всего переход в режим остановки нужен, чтобы просмотреть текущие значения переменных или исправить код. Текущие значения переменных можно просмотреть при помощи окон Immediate, Locals или Watch (о них будет рассказано ниже), а можно воспользоваться подсказками в самом коде. Для того, чтобы получить информацию о текущем значении переменной, достаточно навести на нее указатель мыши — см. рис. 6.2 (если у вас остался включен параметр по умолчанию Tools -> Options -> Auto Data Tips).
Рис. 6.2 Просмотр текущих значений переменных
Чтобы просмотреть информацию о области видимости и типе данных переменной, необходимо установить на нее курсор вода текста и в меню Edit выбрать Quick Info (можно нажать на клавишу <Ctrl>+<I>).
Все возможности редактирования кода в режиме отладки остаются. Если вы поняли, что переменной (свойству объекта) присвоено неверное значение, то вы вполне можете исправить соответствующую строку, вернуться назад при помощи Set Next Statement (<Ctrl>+<F9>) и продолжить выполнение с исправленным значением.
Но не всегда возможностей подсказок в коде нам полностью достаточно. Когда переменных очень много, или, примеру, к проблемам может привести значение свойства, которое мы даже не назначали, или во множестве других ситуаций нам потребуются специализированные окна Immediate, Locals иWatch.