可选参数
某些过程具有可选参数。可选参数总是在必需参数之后,但可以在没有它们的情况下调用该过程。
例如,如果函数 ProcedureName
有两个必需参数(argument1
,argument2
)和一个可选参数 optArgument3
,它至少可以被调用四种方式:
' Without optional argument
result = ProcedureName("A", "B")
' With optional argument
result = ProcedureName("A", "B", "C")
' Using named arguments (allows a different order)
result = ProcedureName(optArgument3:="C", argument1:="A", argument2:="B")
' Mixing named and unnamed arguments
result = ProcedureName("A", "B", optArgument3:="C")
这里调用的函数头的结构如下所示:
Function ProcedureName(argument1 As String, argument2 As String, Optional optArgument3 As String) As String
Optional
关键字表示可以省略该参数。如前所述 - 标头中引入的任何可选参数必须出现在任何必需参数之后的末尾。
在未将值传递给函数的情况下,你还可以为参数提供默认值:
Function ProcedureName(argument1 As String, argument2 As String, Optional optArgument3 As String = "C") As String
在此函数中,如果未提供 c
的参数,则其值将默认为 C
。如果值被提供,那么这将覆盖默认值。