Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA For Excel Часть 01.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.16 Mб
Скачать

3.2 Входные параметры подпрограммы

В описательной части процедуры или функции за ее именем в скобках могут быть описаны входные параметры подпрограммы. Входные параметры подпрограммы – это имена входных переменных, которые используются в теле подпрограммы.

Входные параметры описываются через запятую, по следующему принципу:

[Вид] Имя_Входного_Параметра[ ( ) ] [as тип] [=Значение]

где

Вид – Служебное слово определяющее вид входного параметра

тип –Тип входного параметра (Если служебное слово as с типом опущено, то входной параметр имеет тип Variant)

Если за именем входного параметра типа ByRef или ВуVal набраны скобки, то данный входной параметр является динамическим массивом, и получает значения от переменных, являющимися массивами. Но только не от переменных объявленных функцией Array. Получить значение от массива объявленного функцией Array входными параметрами ByRef и ВуVal можно только в том случаи, если указанные нами параметры имеют тип Vаriant и не содержат за своим именем скобок. Во входные параметры ByRef и ВуVal типа Variant, имена которых не содержат скобок, можно передавать массивы объявленные любым из способов описанных нами в главе Структурированные типы VBA – Массивы. Но только не массивы записей. Входной параметр ByRef и ВуVal получающий значение от массива записей должен обязательно иметь в конце имени скобки, и должен иметь тип соответствующей записи.

Значение – Начальное значение входного параметра по умолчанию (применяется в необязательных входных параметрах Оptional, если в данных входных параметрах значение опущено, то входной необязательный параметр по умолчанию имеет пустое значение, либо нулевое значение, если указанный параметр числового типа)

Виды входных параметров

Название

Функция параметра

ByRef

(или отсутствует служебное слово, определяющее Вид входного параметра)

Значение входного параметра передается той переменной, которая задала ему начальное значение ( Т.е. параметр данного типа является указателем или ссылкой на переменную, задавшему ему начальное значение. )

ВуVal

Значение входного параметра не передается той переменной, которая задала ему значение ( Т.е. параметр данного типа получает только значение от переменной, и не является указателем или ссылкой на последнюю)

Оptional

Необязательный входной параметр. Вслед за ним все остальные входные параметры должны быть необязательными. Параметр Optional не может быть использован вместе с входным параметром ParamArray.

ParamArray

Необязательный входной параметр. Используется только в качестве последнего входного параметра. Этот параметр всегда должен иметь тип Variant, и он не может быть использован вместе с входным параметром Оptional. В этот параметр можно передать список значений переменных и (или) констант любого неструктурированного типа. За именем этого входного параметра обязательно должны идти скобки, которые обозначают, что параметр является динамическим массивом. Просмотреть все элементы ParamArray можно через специальный цикл For each. Ниже в примере показана пользовательская процедура, которая выводит список значений входных переменных разделенный пробелами в окно вывода:

Sub print1(ParamArray V( ))

Dim s as string, n as variant

s = ""

For Each n In V

s = s + " " & n

Next n

MsgBox s, , "Окно Вывода"

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]