Гарт
Иногда нам нужна процедура, которая может принимать переменное количество аргументов в разное время в течение программы (это означает, что процедура иногда вызывается путем передачи одного аргумента, а в более позднее время та же процедура может быть вызвана путем передачи двух аргументов и т. Д.).
В этом случае мы используем ключевое слово ParamArray в заголовке определения процедуры, которая требует переменное количество аргументов в разное время.
Мы помещаем это ключевое слово в список параметров, который указывает, что эта процедура получит переменное количество аргументов.
Ключевому слову ParamArray предшествует объявление массива Variant в списке параметров этой процедуры.
Массив типов вариантов используется для того, чтобы пользователь мог передавать аргументы любого типа.
Синтаксис использования этого ключевого слова ParamArray в определении процедуры выглядит следующим образом:
Private sub myfun (ParamArray x () как вариант)
Dim y как целое число
For y = LBound (x) to UBound (x)
Print x (y)
Next
End sub
Where 'myfun' - это процедура, использующая ParamArray. Эту процедуру можно вызвать, передав различное количество аргументов:
Вызов myfun (1)
Вызов myfun (1, 2)
Вызов myfun (1, 2, 3)
Мы также можем передавать различные количество аргументов, а также различные типы аргументов, например:
Call myfun (1, "fun", 5.67)
Вышеупомянутый вызов передает три разных типа аргументов.