VBA для «чайников» - [22]

Шрифт
Интервал

3-й шаг. Тестирование программы

Так это только шаг 3? Не волнуйтесь, остальные шаги цикла разработки программы не будут слишком длинными.

Теперь программа готова к пробному запуску, с помощью которого вы сможете увидеть, работает пи она в соответствии с вашими планами. Чтобы запустить программу из редактора Visual Basic, выполните следующее.

1. Щелкните либо в окне формы, либо в окне программного кода, чтобы соответствующее окно стало активным.

Вспомните, что выяснить, какое из окон активно, можно по полосе заголовка окна - у активного окна цвет полосы заголовка отличается от цвета полос заголовков неактивных окон (у которых по умолчанию они тускло-серые).

2. Затем воспользуйтесь одним из следующих способов.

*span**** /spanВыберитеspan Run = Run Sub/UserForm из меню.

* Щелкните на кнопке Run (Выполнить) в панели инструментов Standard (Стандартная) редактора Visual Basic. (Сразу после установки приложения панель инструментов Standard оказывается единственной видимой панелью инструментов в редакторе Visual Basic до тех пор, пока вы сами не измените настройки в соответствии с инструкциями главы 5.)

* Нажмите F5.

После небольшой задержки окно нашей с вами программы появится на фоне вашего VBA-приложения (а не редактора Visual Basic). Если все в порядке, вы увидите нечто, очень похожее на рис. 3.18.


Рис. 3.18. Окно готовой программы-примера во время выполнения

Не забудьте выполнить указанный выше п. 1, прежде чем запускать VBА программу! Если не активизировать сначала окно формы или окно ее программного кода, то при попытке запуска программы не случится ничего (или будет запушена какая-нибудь другая программа).

Прежде чем запустить VBA-программу первый раз, ее следует скомпилировать (по поводу определения компиляции снова загляните в главу 1). В процессе компиляции ваша программа готовится к быстротечной жизни, а ее программный кол проверяется строка за строкой на соответствие правилам языка VBA. При первом же отклонении от этих правил компилятор остановится и даст вам шанс исправить ошибку. Даже самая маленькая орфографическая ошибка вызывает экстренную остановку процесса компиляции. Если компилятор обнаруживает ошибку, он выводит на экран небольшое окно с соответствующим сообщением. Среди предлагаемых в этом окне вариантов чаще всего наиболее предпочтительный предлагается кнопкой Debug (Отладка). Щелчок на кнопке Debug переносит вас прямо в окно программного кода, где окажется выделенной строка-обидчик. Компилятор будет помнить результаты своей работы вплоть до выделенной строчки, так что у вас будет возможность исправить ошибку и продолжить компиляцию с того места, где она прекратилась, сделав это любым из упомянутых выше способов для запуска программы.

Если хотите, попытайте счастья и с кнопкой Help (Справка), но не удивляйтесь, если предоставляемая при этом информация окажется слишком общей и поэтому в большинстве случаев бесполезной. Кнопка End (Завершить) прекращает компиляцию и возвращает вас в окно редактора Visual Basic.

Может случиться, что, по мнению компилятора, ваша программа совершенно здорова, но это не значит, вообще говоря, что она будет работать именно так, как вы планировали. Отсутствие ошибок при компиляции - это лишь разрешение начать настоящее тестирование.

Хотя компилятор никогда не пропускает ошибок языка VB.A, он все же не может читать ваши мысли. Так, компилятор будет вполне доволен строками программного кода, удовлетворяющими все правила языка VBA, даже если в программе эти строки лишены смысла.

Представьте себе учителя, который ставит отличную оценку за подобную поэму:

Розы красные

Фиалки фиолетовые

У меня есть велосипед

Любишь ли ты рыбу?

потому что каждая из строк имеет вполне понятный смысл. Компилятор VBA подобен такому учителю.

Как только компилятор закончит свою работу, программа начнет выполняться. Вы можете теперь испытать все ее возможности и увидеть, работает ли она так, как вы планировали.

Нашу с вами программу тестировать легко. Если в окне будет нужное сообщение, а не Windows Must Die!, и если шелчок на кнопке ОК завершает выполнение программы, то примите мои поздравления. Если же нет, то придется вам заняться искоренением ошибок.

4-й шаг. Отладка

По мере усложнения программ вероятность появления ошибок в работе (ошибок выполнения) растет экспоненциально. После обнаружения такой ошибки главной задачей становится выявление причины ошибки и устранение проблемы. Одним словом, это отладка.

В небольших программах иногда работает следующий грубый, но достаточно эффективный метод: просто начните внимательно читать весь программный код с самого начала строку за строкой, чтобы попытаться обнаружить, что именно порождает проблему. Поняв это, вы сможете, как правило, без особых усилий устранить ее. (Если что-то не так с вашей программой-примером, просто сравните свой программный код с напечатанным здесь и внесите необходимые исправления.)

К счастью, VBA предлагает несколько средств автоматизации процесса отладки в дополнение к предложенному выше методу ломания головы. Все подробности вы найдете в главе 14.

Знайте, что описанные выше методы - а работают они только в редакторе Visual Basic, - будут единственными способами непосредственного запуска программ, построенных на форме, как наша программа-пример. Чтобы вывести форму на экран из VBA-приложения, нужно с помощью редактора


Рекомендуем почитать
Графика DirectX в Delphi

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


DirectX 8. Начинаем работу с DirectX Graphics

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.