Сделайте паузу!
Сделайте паузу!
Ключ к отладке программы кроется в режиме паузы VBA. Режим паузы - это временная остановка выполнения программы на некотором операторе в программном коде. Поскольку в этом случае программа еще 'живет", вы получаете возможность проверить текущие значения всех ее переменных. Кроме того, начиная с этого момента, вы получаете возможность использовать команды Step, чтобы продолжить выполнение программы в пошаговом режиме, по одному оператору за шаг, и наблюдать за соответствующими изменениями значений переменных при этом будет видно, получают переменные ожидаемые значения или нет.
Подробности такой работы с переменными и командами Step будут рассматриваться в этой главе позже.
На рис. 9.1 показан вид окна редактирования VBA-процедуры в режиме паузы. Если не считать желтой подсветки строки и стрелки на поле слева, указывающей на оператор, который должен выполняться следующим, то это окно редактора Visual Basic выглядит практически так же, как и при обычном редактировании программного кода.
Рис. 9.1. Процедура VBA в режиме паузы
На самом деле, в режиме паузы вы можете редактировать свой программный код прямо во время выполнения программы, внося изменения и добавляя совершенно новые строки программного кода по необходимости или по своему желанию. Это предусмотрено не для забавы - это очень удобное средство отладки, преимуществами которого нужно обязательно научиться пользоваться (подробнее об этом - ниже, в разделе "Добавление и редактирование программного кода в режиме паузы").
Вход в режим паузы
Имеется целый ряд возможностей для перевода программы в режим паузы, который можно сравнить со стоп-кадром анимации.
* Запуск программы сразу в режиме паузы с помощью команды Step Into (см. ниже раздел "Сквозь программу по шагам").
* Назначение точки останова строке программного кода. После того как программа при выполнении дойдет до оператора, с которым связана точка останова, выполнение прервется, и программа перейдет в режим паузы.
* Помещение в программный код оператора Stop. После выполнения этого оператора программа переходит в режим паузы, приготовившись продолжить выполнение с оператора, следующего за оператором Stop.
* Щелчок на кнопке Break (Пауза), выбор Run=Break из меню или нажатие комбинации клавиш <Ctrl+Break> во время выполнения программы. Используйте эту возможность для восстановления контроля над программой, которая по каким-то причинам не желает останавливаться сама. Никто не сможет предугадать, где при этом программа остановится, но зато после остановки у вас появится возможность увидеть, где это произошло.
* Создание контролируемых переменных типа Break When Value Is True (стоп при значении Истина) или Break When Value Changes (стоп при изменении значения). Тогда программа перейдет в режим паузы, как только значение контролируемой перемен1 ной станет равным True или как только ее значение изменится.
По-другому программа может перейти в режим паузы, когда возникает ошибка выполнения. VBA отображает диалоговое окно с описанием возникшей ошибки (рис. 9.2). В этом окне щелчок на кнопке End (Закончить) останавливает выполнение программы совсем, а щелчок на кнопке Debug (Отладка) переводит выполнение программы в режим паузы. На вкладке General (Общие) диалогового окна Tools=Options вам предоставляются некоторые возможности для выбора круга тех ошибок, появление которых должно останавливать выполнение программы.
Рис. 9.2. Диалоговое окно, сообщающее об ошибке выполнения
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Сделайте процесс заказа логичным
Сделайте процесс заказа логичным Большинство пользователей путают непоследовательный (нелинейный) процесс оплаты – непонятно, как купить товар, или вызывает сложности сама покупка. Если в вашем интернет-магазине при оплате заказа есть такие подшаги, как «Создание
Сделайте так, чтобы вашу статью дочитали до конца
Сделайте так, чтобы вашу статью дочитали до конца Решение поставленной задачи кроется в умении лаконично рассказать о проблеме клиента в первых двух абзацах статьи. Однако это будет совершенно невозможно без предварительного изучения интересов целевой аудитории,
Сделайте программный код красивым
Сделайте программный код красивым В общем-то, программному коду совсем не обязательно выглядеть красиво - нужно, чтобы он легко читался. В этом разделе предлагается несколько простых рекомендаций по оформлению программного кода для того, чтобы вам было легче
Сделайте ваш выбор
Сделайте ваш выбор В последнее время наблюдается устойчивая тенденция отказа от почтовых программ. Многие опытные пользователи даже не знают об их существовании. Это объясняется тем, что наличие повсеместного и быстрого доступа к Интернету компенсирует недостатки
Сделайте мне … хорошо
Сделайте мне … хорошо LinuxFormat, #104 (апрель 2008)Вековечная мечта пользователей Linux – чтобы все работало «из коробки», похоже, близка к осуществлению. Что можно наблюдать на примере альфа-версии Kubuntu – 8.04. Устанавливаемая, как и раньше, сполпинка, что в варианте Desktop, что в
Сделайте текст красивым, или Форматирование
Сделайте текст красивым, или Форматирование Пользователи компьютеров – люди несентиментальные. Они стесняются слов «навести красоту в буквах» или «сделать текст красивым». Вместо этого они используют выражение «форматирование текста», а иногда, когда речь идет о
«Сделайте это сейчас»
«Сделайте это сейчас» Не каждый, кто использует тактику социальной инженерии, является идеальным социальным инженером. Любой, кто владеет внутренней информацией компании, может принести опасность. Риск тем больше для тех компаний, которые хранят в своих файлах и базах
Сделайте тише
Сделайте тише Автор: Владимир ГуриевВ августе 2007 года я побывал на Hungaroring, венгерском этапе Formula 1. Все знакомые - а особенно фанаты Formula 1 - мне, разумеется, завидовали, и я, как честный человек, старался не обманывать их ожиданий и на вопросы типа "ну как оно там?"