End Function

End Sub

End Sub

Область видимости процедур и функций

У процедур и функций два уровня видимости:

· уровень модуля;

· уровень проекта

По умолчанию все программы доступны на уровне проекта.

Служебные слова Privateи Public задают область видимости процедур и функций. Private делает объект доступным только внутри данного модуля. Public делает объект доступным из другого модуля.

Для того чтобы перевести процедуру или функцию на уровень модуля, необходимо объявить ее с ключевым словом Private. Такие программы не могут запускаться сами по себе. Их можно только вызвать из других программ.

Пример:

Sub Proc()

var1 = GetRand

ModuleLevelProcedure var1

 

Private Sub ModuleLevelProcedure(ByVal var1)

MsgBox var1 * GetRand

Private Function GetRand()

GetRand = Int(100 * Rnd())

Сначала процедура Proc()вызывает функцию GetRand для генерации случайного целого числа в диапазоне от 0 до 99, а затем передает его в процедуру ModuleLevelProcedure. Там этот аргумент умножается на результат еще одного обращения к функцииGetRand. Их произведение выводится в информационном окне.