Я нахожусь в следующей ситуации: у меня есть функция, которая принимает ParamArray типа варианта и генерирует строку из ключевых слов, заданных в его ParamArray, специальным образом путем выполнения mergeToString.
Function function1(ParamArray var() As Variant) As String
For i = LBound(var) To UBound(var)
function1 = mergeToString(function1, CStr(var(i))
Next i
End Function
В другой подпрограмме у меня есть массив строк, полученных из функции Split в VBA, и я хочу использовать его в качестве входных данных для функции1
Sub displayFCTN1()
Dim arr() As String
arr() = Split("foo|bar", "|")
'and here I ran out of ideas...
Debug.Print function1(**???**)
End Sub
Две строки
function1(**???**)
function1("foo","bar")
должен быть эквивалентен первому, так или иначе используя arr ().
В Matlab это относительно просто - я знаю, VBA - это не Matlab, но это может помочь в качестве расширенного описания моей проблемы:
Скорее всего, вы могли бы сделать это с помощью оператора двоеточия в Matlab
function1(arr(:))
с тех пор поля массива arr () считаются «свободными» параметрами.
Есть ли что-то сопоставимое с этим в VBA? Я уже попробовал ReDim, который как-то не справился (насколько я пытался).
Спасибо за помощь!