Call имя подпрограммы (фактические параметры).

Вызов подпрограммы процедуры Sub

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

Процедура типа Sub

[ Public | Private] [Static] Sub имя [(параметры)]

[операторы внутри процедуры]

End Sub

Public - процедура доступна для всех других процедур модулей проекта. По умолчанию процедура Sub объявлена типа Public.

Privateпроцедура доступна для других процедур только того модуля, в котором она описана.

Static - локальные переменные процедуры сохраняются в промежутках времени между вызовами этой процедуры.

Sub- название процедуры.

имя- имя процедуры Sub устанавливается пользователем и подчиняется правилам образования имен переменных.

параметры– в простейшем случае это имена переменных, значения которых необходимо обрабатывать в процедуре SUB. Их условно можно подразделить на входные и выходные формальные параметры. Например, для заголовка процедуры: Private Sub max (ByVal N,ByValM, R)

входные параметры N, Mбудем считать исходными для работы подпрограммы. Выходной параметр R служит для передачи результатов работы подпрограммы при возврате в вызывающую процедуру. По умолчанию все формальные параметры после работы подпрограммы возвращаются на место фактических в вызывающую процедуру. Такой возврат отменятся, если перед формальными параметрами введено ключевое слово ByVal. Формальные параметры могут быть описаны.

1 способ. Вызов выполняется отдельным оператором Call:

Например:

Call max (a, b, r1)

Фактические параметры также условно делятся на входные и выходные. Например, a, b - входные фактические параметры передаются на место входных формальных параметров N, M. Выходной фактический параметр r1принимает значения выходного формального параметра R

Sub max(ByVal N, ByVal M, R )

       
 
   
 


Call max (a, b, r1)

В данном случае говорят, что передача фактических параметров а, b на место формальных N,M происходит по ²Значению².

Так как при параметре R отсутствует ByVal , то r1 и R имеют одну и ту же ячейку памяти и значение R, как бы передается на место r1 ( в таком случае говорят, что передача параметра происходит по ²Ссылке²).

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