Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы заключаете процедуру между инструкцией начального объявления (Sub
или Function
) и конечной инструкцией объявления (End Sub
или End Function
). Весь код процедуры лежит между этими инструкциями.
Процедура не может содержать другую процедуру, поэтому ее начальные и конечные инструкции должны находиться вне любой другой процедуры.
Если у вас есть код, выполняющий одну и ту же задачу в разных местах, можно написать задачу один раз в качестве процедуры, а затем вызвать ее из разных мест в коде.
Создать процедуру, которая не возвращает значение
За пределами любой другой процедуры используйте
Sub
оператор, за которым следуетEnd Sub
оператор.В инструкции
Sub
после ключевого словаSub
укажите имя процедуры, а затем в скобках укажите список параметров.Поместите инструкции кода процедуры между инструкциями
Sub
иEnd Sub
.
Создание процедуры, возвращающей значение
За пределами любой другой процедуры используйте
Function
оператор, за которым следуетEnd Function
оператор.Function
В инструкции после ключевого словаFunction
укажите имя процедуры, затем список параметров в скобках, затем – предложениеAs
, указывающее тип данных возвращаемого значения.Поместите инструкции кода процедуры между инструкциями
Function
иEnd Function
.Используйте инструкцию
Return
, чтобы вернуть значение в вызывающий код.
Чтобы подключить новую процедуру к старым повторяющимся блокам кода
Убедитесь, что вы определите новую процедуру в месте, где старый код имеет к нему доступ.
В старом блоке повторяющегося кода замените инструкции, выполняющие повторяющуюся задачу, на один оператор, который вызывает
Sub
илиFunction
процедуру.Если ваша процедура
Function
возвращает значение, убедитесь, что вызывающее выражение выполняет действие с возвращаемым значением, например, сохраняет его в переменной, иначе значение будет потеряно.
Пример
Function
Следующая процедура вычисляет самую длинную сторону или гипотенузу правого треугольника, учитывая значения для других двух сторон:
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function