Если я хочу передать несколько значений для аргумента ParamArray через массив, как это сделать? Из того, что я читал до сих пор, на VBA, мне кажется, что мне нужно явно указать значения, которые я хочу передать. Но что, если есть потенциально разные количества значений, чтобы пройти, так что я заранее не знаю, сколько я хочу передать функции? Нет ли способа использования массива (одномерного массива) с переменным размером?Переменная количество аргументов в ParamArray ArgList()
1
A
ответ
2
Есть несколько способов достижения этой цели:
- размерности массив, чтобы быть больше, чем требуется, держать подсчет, сколько элементов на самом деле добавляются, а затем
Redim Preserve
обратно до нужного размера - использование
Collection
объект вместо (как обычный параметр, а неParamArray
)
2
Вы можете передать переменное число значений функции, если функция включает в себя массив Param:
http://msdn.microsoft.com/en-us/library/538f81ec(v=VS.71).aspx
http://msdn.microsoft.com/en-us/library/aa164809(v=office.10).aspx