Справочная информация
Написание и отладка программ средствами редактора VBA
Цель работы –изучение редактора VBA, способов создания и отладки программ.
После выполнения работы студент должен знать принципы разработки программ, уметьсоздавать и отлаживать программы средствами VBA.
Подготовка экономических задач к решению на ЭВМ – достаточно сложный процесс, состоящий из пяти этапов: постановка задачи; формализация задачи и выбор метода ее решения; разработка алгоритма решения задачи; создание программы решения задачи; отладка программы.
Остановимся более подробно на двух последних этапах.
Программой называется написанная на языке программирования логически завершенная последовательность действий, выполнение которых приводит к искомому результату. К настоящему времени разработано и используется большое количество языков программирования, среди которых наиболее широко распространенным, простым и доступным для пользователей является Visual Basic for Application (VBA) - визуализированный Basic для приложений. VBA относится к объектно–ориентированным языкам и использует технологию визуального программирования.
Все программы VBA представляются в виде процедур и функций, которые хранятся в модулях.
Процедуры и функций являются фрагментами программного кода, заключенными между операторами Sub … End Sub и Function … End Function. Функция отличается от процедуры тем, что ее имя выступает в качестве переменной и используется для возвращения значения переменной в точку обращения к функции.
Различают четыре типа модулей: стандартные модули, модули форм, модули отчетов и модули класса.
Стандартные модули или модули проекта являются объектами приложения и могут вызываться из любого места в нем. Они загружаются в оперативную память при первом обращении к любой процедуре модуля или ссылке на переменную в этом модуле и остаются в памяти до закрытия приложения. Создание стандартных модулей осуществляется в редакторе VBA (меню InsertàModule) или в окне базы данных (Создание àМодули).
Модули форм являются частью этих объектов и предназначены, в первую очередь, для обработки событий, возникающих в этих формах. Модули форм загружаются и выгружаются вместе со своими формами. Создание или редактирование модуля формы осуществляется в редакторе VBA через открытие соответствующей формы или меню ViewàCode (форма должна быть выделена), а также через окно базы данных à вкладка Формы à режим Конструктора формы à Страница свойств à вкладка События à Построитель программ.
Модули отчетов, как и модули форм, являются объектами, вложенными в отчеты, и обрабатывают события, возникающие в отчетах (заметим здесь, что элементы управления отчетов событий не порождают). Создание и редактирование модуля отчетов выполняется так же, как и модуля форм.
Модули класса предназначены для обработки событий класса объектов, созданных пользователем, и в данном пособии не рассматриваются.
Любой из выше перечисленных модулей может состоять из области декларации, одной или нескольких процедур и/или функций. Область декларации или область объявления предназначена для объявления используемых в программах переменных и констант.
Любая созданная пользователем программа может содержать ошибки, для устранения которых используются режимы отладки.
Различают три типа ошибок – синтаксические, смысловые и логические.
Синтаксические ошибки связаны с неправильной записью или употреблением конструкций языка программирования. Данные ошибки легко устраняются на стадии компиляции программы (окно редактора VBA à меню Debug à Compile).
Источниками смысловых ошибок могут быть обращения к несуществующим объектам, их свойствам или методам, например, обращение к несуществующему файлу, таблице, запросу или обращение к выключенному принтеру, или отсутствие диска в дисководе и т.д. Эти ошибки могут привести к останову программы, если в ней не предусмотрены реакции на подобные события.
Логические ошибки возникают в результате некорректной постановки задачи, неучтенных ограничениях на условия задачи, недопустимых значениях данных, неадекватном моделировании и выборе метода решения задачи и др. В случае их наличия программа может прервать выполнение или выдать неверные результаты.
Смысловые и логические ошибки обнаруживаются и устраняются разработчиком в процессе тестирования программы на контрольных примерах. При подготовке контрольных примеров необходимо отразить все многообразие исходных данных для проверки разных частей решаемой задачи. Особое внимание уделяется критическим и граничным значениям данных.
Сначала контрольный пример выполняется вручную, затем на компьютере, и результаты сравниваются. При несовпадении результатов ошибки устраняются и выполнение контрольного примера повторяется. Задача считается отлаженной, если для всех исходных данных результаты ручного и компьютерного решения задачи совпадают.