Подпрограмма-процедура

 

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

При программировании с использованием процедур можно выделить два основных преимущества:

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

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

В VBA используется несколько видов процедур:

Процедуры Sub (не возвращают значения)

Процедуры Function (возвращают значения)

Процедуры Property (могут возвращать и присваивать значения), а также устанавливать ссылки на объекты.

Процедуры Sub

Процедура Sub (или подпрограмма) - это блок кода, который выполняется в ответ на событие. Разбивая код модуля на процедуры Sub, намного легче читать или модифицировать код приложения.

Синтаксис процедуры Sub таков:

[Private | Public][Static]Sub <Имя процедуры> (<аргументы>) <Операторы> End Sub

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

Задание параметров процедуры подобно объявлению переменных. Пример:

Sub tobin(i As Integer)Dim b As String, a As Integer, s As Singleb = "": s = CSng(i)Do While s > 0a = s Mod 2#b = CStr(a) + bs = (s) \ 2#LoopMsgBox b, vbOKOnly, "Результат"End Sub