Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Вы заключаете процедуру между инструкцией начального объявления (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