Информатика: Сборник лабораторных работ по программированию в среде Visual Basic for Applications, страница 3

К модулям объектов относятся модули, связанные с рабочей книгой, рабочими листами и формами.

Окно редактирования кода (View Code) выполняет функции текстового редактора для ввода и изменения кода процедур и функций проекта. Открыть окно кода  для соответствующего модуля можно, например, сделав двойной щелчок на выбранном модуле.

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

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

Из рис.1 видно, что проект VBA имеет иерархическую структуру и включает объекты Excel, формы и стандартные модули. Объектами Excel, входящими в проект, являются рабочие книги (WorkBooks), рабочие листы (WorkSheets), диаграммы (Charts). С каждым из  этих объектов связан специальный модуль, в который может быть помещен программный код, выполняющий определенные действия.

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

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

Весь проект представляет собой один файл – рабочую книгу, и сохраняется вместе с ней.

Основы программирования  на VBA

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

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

Различают следующие типы процедур:

-  процедуры обработки событий;

-  процедуры макросов;

-  процедуры пользователя.

Процедуры обработки событий связаны с каким-либо объектом и имеют следующий синтаксис:

Private Sub ИмяОбъекта_Событие()

Тело процедуры

End Sub

где Private – ключевое слово, определяющее область видимости процедуры (в пределах данной формы, рабочего листа);

Sub - ключевое слово, определяющее тип подпрограммы - процедуры;

ИмяОбъекта – имя объекта, с которым связывается процедура;

Событие – вид обрабатываемого события;

Тело процедуры -  программный код процедуры;

End Sub – ключевые слова, указывающие на конец процедуры.

Процедура такого типа вызывается тогда, когда происходит соответствующее событие. Например, процедура обработки события «Щелчок» для объекта «Кнопка», при нажатии на которую осуществляется выход из программы,  имеет вид:

Private Sub CommandButton1_Click()

End                               ‘ конец работы программы

End Sub

Процедуры макросов создаются при записи  макросов – по команде меню: Сервис – Макрос – Макросы. Они имеют синтаксис:

Sub ИмяМакроса()

Тело макроса

End Sub

В дальнейшем макрос может быть вызван комбинацией клавиш.

Процедура пользователя создается им для выполнения каких-либо действий в рамках разрабатываемой программы. Синтаксис процедуры пользователя имеет вид:

[Private/Public] Sub ИмяПроцедуры (СписокПараметров)