Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
VBA. Процедуры и функции. Параметры (формальные и фактические)
Подпрограмма – это блок кода между операторами Sub и End Sub или Function и End Function. Подпрограмма-процедура – это блок кода, заключенный между операторами Sub и End Sub. Обычно подпрограмму-процедуру принято называть процедурой. При написании программы нужно учесть одно правило: “Внутри одной процедуры не может быть описана другая процедура”. Синтаксис: Sub <имя процедуры> ([ [ ByVal ] <параметр 1 > As < тип >] [, В скобках указываются необходимые параметры, если параметров нет, то просто пустые скобки. Например, напишем программу, выводящую на экран окно с приветствием:
Параметры, указанные в скобках заголовка процедуры, называются формальными. Параметры, значения которых передаются из программы (другой процедуры) в процедуру, называются параметрами-переменными. Параметры, значения которых передаются из процедуры в программу (другую процедуру), называются параметрами-значениями. Параметры, указанные в списке оператора вызова процедуры, называются фактическими параметрами. Ключевые слова ByVal и ByRef определяют способ передачи значений параметров. ByVal указывает, что аргумент передается по значению. ByRef указывает, что аргумент передается по ссылке. Описание ByRef используется в VBA по умолчанию. Значения параметров-переменных, передаваемых по способу ByVal, не могут изменяться в теле процедуры во время её выполнения, то есть последние значения переменных в программе сохраняются неизменными. Значения параметров, передаваемых по способу ByRef, изменяют значения соответствующих переменных программы. Вызов процедуры из другой процедуры можно произвести несколькими способами. Первый способ: <Имя процедуры> <Список фактических параметров>. Список должен соответствовать списку, заданному в процедуре по количеству и типу. Пример: qwer x, y, s ‘оператор вызова процедуры. Если требуется использовать несколько процедур с одинаковыми названиями, расположенными в разных модулях, то при их вызове перед именем процедуры через точку необходимо указывать имя модуля, в котором расположена процедура. Синтаксис: < Имя модуля>.<Имя процедуры > < Список фактических параметров >. Второй способ вызова процедуры производится с помощью инструкции Call. Синтаксис: Call < Имя процедуры > (< Список фактических параметров >). В отличие от первого способа здесь список фактических параметров заключается в скобки. Пример: Call qwer(x, y, s) Подпрограмма-функция – это блок кода, заключенный между операторами Function и End Function. Обычно в языках программирования подпрограмму-функцию принято называть функцией. Она выполняет какую-то операцию, но при этом обязательно возвращает какое-нибудь значение. Значение возвращается через имя функции. Синтаксис: Function <имя функции> ([[ByVal ] <параметр 1> As <тип>] Пример: Function f(ByVal x As Single, ByVal y As Single) As Single Оператор вызова функции состоит из имени функции и списка фактических параметров, заключённых в скобки. Пример: s = f(x,y) – ‘оператор вызова функции. При необходимости можно указать область определения процедуры или функции: Private Sub Программа_Привет() – закрытая процедура. Возможен вызов из модуля, где она находится, то есть доступна для других процедур только того модуля, в котором она описана. Public Sub Программа_Привет() – открытая процедура. Возможен вызов из любого модуля, то есть доступна для всех других процедур во всех модулях. Static Sub Программа_Привет() – указывает, что значения локальных переменных процедуры сохраняются в промежутках времени между вызовами этой процедуры. Private Function f(ByVal x As Single, ByVal y As Single) As Single - закрытая функция. Возможен вызов из модуля, где она находится. Public Function f(ByVal x As Single, ByVal y As Single) As Single - открытая функция. Возможен вызов из любого модуля.
Date: 2016-05-14; view: 3067; Нарушение авторских прав |