I dunno , it seems to work.
It looks to me just like a way of saving writing extra unneeded code when you want to pass a load of arguments through one function to another but not really need them in the first function.
If you consider this example...
as the form loads it calls Test() with a load of arguments.
The Test() function only wants the sName argument and it then calls PrintTest() that does want all the args.
Public Sub Form_Open()
Test("value of one", "1", 1, 1)
Test("value of one & 1/2", "1.5", 1.5, 1.5)
End
Public Sub Test(sName As String, ...)
Print "running Test " & sName
PrintTest(sName, ...)
End
Public Sub PrintTest(sName As String, sVar As String, iVar As Integer, vVar As Variant)
Print "name: "; sName
Print "text: "; sVar
Print "integer: "; Str(iVar)
Print "TypeValue:"; TypeOf(vVar); ": "; Str(vVar)
End
So there the function Test()
I have not needed to use
Public Sub Test(sName As String, sVar As String, iVar As Integer, vVar As Variant)
Print "running Test " & sName
PrintTest(sName, sVar, iVar, vVar)
End
and pass all the arguments that PrintTest() wants but Test() does not , the ... takes care of it.
As for variable types and using an unknown count of args i guess that's up to the programmer. If you was not using the ... method but filling in the fields like in the lower example then your types would be known and taken care off. and for unknown quantities you would use an array[]