End Sub
Процедурное программирование.
Программа VBA представляет собой совокупность процедур и функций, размещенных в зависимости от особенностей решаемой задачи, в одном или нескольких модулях. Каждый модуль имеет две области: общую область и область подпрограмм. В общей области помещаются операторы описания переменных, которые являются общими для всех процедур и функций этого модуля. В области подпрограмм помещается только код подпрограммы.
В VBA программный код, реализующий какие-либо действия, оформляется в виде процедур и функций. Благодаря этому создаваемые программы имеют хорошую структурированность и наглядность. Разработанные отдельные функции или процедуры можно накапливать в библиотеках и в дальнейшем использовать их по мере необходимости.
Различают следующие типы процедур:
· процедуры обработки событий;
· процедуры макросов;
· процедуры пользователя.
Пока остановимся на процедурах пользователя, которые создаются им для выполнения каких-либо типовых действий в рамках разрабатываемой программы. Синтаксис такой процедуры имеет вид:
[Private|Public] Sub ИмяПроцедуры(СпискиПараметров)
<<Тело подпрограммы>>
где [Private|Public] – необязательные ключевые слова, определяющие область видимости программы; Sub – ключевое слово, определяющее тип подпрограммы. ИмяПроцедуры – имя подпрограммы (дает/придумывает сам пользователь – программист). СписокПараметров служит для передачи процедуре исходных данных для вычислений (может отсутствовать). Он состоит из элементов списка, разделенных запятыми.
Этот элемент списка параметров имеет синтаксис:
ИмяЭлемента As ТипДанных
где ИмяЭлемента – идентификатор; As – ключевое слово; ТипДанных – тип данных элемента списка.
Процедура пользователя может быть вызвана из другой подпрограммы оператором Call или указанием ее имени. Например:
Private Sub Prog1() ' вызов П\П Prog2
Dim t As Integer ' Описание типа переменной t
t = 2 ‘Параметр, передаваемый п/п
Call Prog2 (t)
[Другие операторы]
Prog2 (t) ' другой способ вызова П\П Prog2
[Другие операторы]
End Sub
Public Sub Prog2(x As Integer)
MsgBox x ' выдача значения x в специальном окне
End Sub
Функция – это подпрограмма, которая выполняет действия в пределах своего блока и возвращает единственное значение.
В VBA различают следующие виды функций:
· функции пользователя
· функции классов.
Не затрагивая проблемы объектно-ориентированного программирования, остановимся опять-таки на более понятном классе функций пользователя.
Функция пользователя имеет следующий синтаксис:
[Private|Public] Function ИмяФункции(СпискиПараметров)_As ТипДанных
<<Тело функции>>
ИмяФункции=Возвращаемое значение