Справочная информация

Написание и отладка программ средствами редактора VBA

 

Цель работы –изучение редактора VBA, способов создания и отладки программ.

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

Подготовка экономических задач к решению на ЭВМ – достаточно сложный процесс, состоящий из пяти этапов: постановка задачи; формализация задачи и выбор метода ее решения; разработка алгоритма решения задачи; создание программы решения задачи; отладка программы.

Остановимся более подробно на двух последних этапах.

Программой называется написанная на языке программирования логически завершенная последовательность действий, выполнение которых приводит к искомому результату. К настоящему времени разработано и используется большое количество языков программирования, среди которых наиболее широко распространенным, простым и доступным для пользователей является Visual Basic for Application (VBA) - визуализированный Basic для приложений. VBA относится к объектно–ориентированным языкам и использует технологию визуального программирования.

Все программы VBA представляются в виде процедур и функций, которые хранятся в модулях.

Процедуры и функций являются фрагментами программного кода, заключенными между операторами SubEnd Sub и FunctionEnd Function. Функция отличается от процедуры тем, что ее имя выступает в качестве переменной и используется для возвращения значения переменной в точку обращения к функции.

Различают четыре типа модулей: стандартные модули, модули форм, модули отчетов и модули класса.

Стандартные модули или модули проекта являются объектами приложения и могут вызываться из любого места в нем. Они загружаются в оперативную память при первом обращении к любой процедуре модуля или ссылке на переменную в этом модуле и остаются в памяти до закрытия приложения. Создание стандартных модулей осуществляется в редакторе VBA (меню InsertàModule) или в окне базы данных (Создание àМодули).

Модули форм являются частью этих объектов и предназначены, в первую очередь, для обработки событий, возникающих в этих формах. Модули форм загружаются и выгружаются вместе со своими формами. Создание или редактирование модуля формы осуществляется в редакторе VBA через открытие соответствующей формы или меню ViewàCode (форма должна быть выделена), а также через окно базы данных à вкладка Формы à режим Конструктора формы à Страница свойств à вкладка События à Построитель программ.

Модули отчетов, как и модули форм, являются объектами, вложенными в отчеты, и обрабатывают события, возникающие в отчетах (заметим здесь, что элементы управления отчетов событий не порождают). Создание и редактирование модуля отчетов выполняется так же, как и модуля форм.

Модули класса предназначены для обработки событий класса объектов, созданных пользователем, и в данном пособии не рассматриваются.

Любой из выше перечисленных модулей может состоять из области декларации, одной или нескольких процедур и/или функций. Область декларации или область объявления предназначена для объявления используемых в программах переменных и констант.

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

Различают три типа ошибок – синтаксические, смысловые и логические.

Синтаксические ошибки связаны с неправильной записью или употреблением конструкций языка программирования. Данные ошибки легко устраняются на стадии компиляции программы (окно редактора VBA à меню Debug à Compile).

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

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

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

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