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 ТипДанных

<<Тело функции>>

ИмяФункции=Возвращаемое значение