Переменное количество аргументов в ParamArray ArgList () - PullRequest
1 голос
/ 04 июня 2009

Если я хочу передать несколько значений для arglist ParamArray через массив, как мне это сделать? Из того, что я читал до сих пор, на VBA видно, что мне нужно явно перечислить значения, которые я хочу передать. Но что, если есть потенциально различное количество значений для передачи, поэтому я не знаю заранее, сколько я хочу передать в функцию? Есть ли какой-нибудь способ использования массива (одномерного массива) с переменным измерением?

Ответы [ 2 ]

2 голосов
/ 15 апреля 2010

Вы можете передать переменное число значений в функцию, если функция включает массив параметров:

http://msdn.microsoft.com/en-us/library/538f81ec(v=VS.71).aspx

http://msdn.microsoft.com/en-us/library/aa164809(v=office.10).aspx

2 голосов
/ 05 июня 2009

Есть несколько способов добиться этого:

  • размер массива должен быть больше, чем вам нужно, сохраняйте количество фактически добавленных элементов, а затем Redim Preserve верните правильный размер
  • вместо этого используйте объект Collection (как обычный параметр, а не ParamArray)
...