如何在visual basic中創建一個具有可變數量參數的函數? ex。VB中參數的可變數量
x = Sum(1,2,3)
y = Sum(1,2)
Function Sum('how to declare argument here')
'Is there any special argument manipulation inside function before it is usable?
End Function
如何在visual basic中創建一個具有可變數量參數的函數? ex。VB中參數的可變數量
x = Sum(1,2,3)
y = Sum(1,2)
Function Sum('how to declare argument here')
'Is there any special argument manipulation inside function before it is usable?
End Function
看一看Passing a Variable Number of Arguments
Function Sum(ParamArray Vals() As Variant)
Dim intLoopIndex As Integer
For intLoopIndex = 0 To UBound(Vals)
Next intLoopIndex
End Function
使用可選的參數,如:
Function Sum(Optional X1 As Integer=0, Optional X2 As Integer=0)
或通用可變參數的語法
Function Sum(ParamArray XArr() As Variant)
(我也許已經搞砸一些語法e lement - 隨時糾正。)
+1您的語法是完美的 – MarkJ 2010-04-13 16:11:50
這裏的答案很好。在我的應用程序中,我需要一個任意長度的可選參數列表,在所需的初始參數之後。
您可以通過在ParamArray條目之前添加所需的參數來完成此操作。
例如:
Function Arithmetic(FuncType As String, ParamArray Terms() As Variant)
這會不會也對VBA的工作?我在VBA上試過,但它不起作用。它無法識別ParamArray – Kratz 2010-04-13 14:41:58
上面的代碼有正確的想法,但不會按原樣編譯。 1)'ParamArray'不能被聲明爲'ByVal',2)它只能被聲明爲'Variant'數組。因此,函數聲明應該是'Function Sum(ParamArray Vals()As Variant)' – 2010-04-13 14:48:41
@ Mike Spross:它的工作原理基於您陳述的規則。謝謝。 @ astander:謝謝你的支持。 – Kratz 2010-04-13 14:55:42