Читаем VBA для чайников полностью

После того как вы выловите и уничтожите все ошибки компиляции, а ваша программа начнет выполняться, никто не осудит вас за внезапно нахлынувшее чувство гордости и удовлетворения. Но если программа вдруг сообщит, что 2 + 2 = 22, или если весь текст в документе окажется розовым, то знайте - где-то в программном коде все же затаилась ошибка.

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

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

<p>Тест, тест, тест</p>

Хорошо, когда ошибки сами заявляют о себе, например, с помощью явно неправильных ответов, изменения цветов экрана на очень странные или появления сообщений об ошибках.

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

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

Вот несколько советов по тестированию программ.

* Если программа предназначена для работы с разными типами документов, то и попробуйте ее в работе с разными типами документов. Попытайтесь работать с программой, когда в VBA-приложении открыто несколько документов и когда- ни одного.

* Посмотрите, как выполняется программа, когда окно документа находится в разных состояниях (развернуто, свернуто или восстановлено).

* Попробуйте выполнить программу, когда в окне документа выделены различные элементы или группы элементов.

* Если программа требует ввода информации от пользователя в специальном окне или в специальной форме, опробуйте все вероятные и невероятные типы ввода и посмотрите на результат. Например, если вводимое значение предполагается целым, попробуйте ввести значение с плавающей запятой, дату и строку символов, чтобы узнать, как отреагирует на это программа.

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

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

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

<p>Комбинации клавиш для отладки</p>

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

Построчное выполнение кода (пошаговое)

Построчное выполнение кода без построчного выполнения отдельных процедур

Выполнение кода до точки вставки

Добавление точки останова

Удаление всех точек разрыва

Определение следующей инструкции, которая будет выполняться

Добавление контролируемого выражения

Выполнение отладочного кода или возвращение сведений об ошибке обращения к процедуре

Пошаговое выполнение отладочного кода или возвращение сведений об ошибке обращения к процедуре

<p>Сделайте паузу!</p>
Перейти на страницу:

Все книги серии Для чайников

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных