可選引數

某些過程具有可選引數。可選引數總是在必需引數之後,但可以在沒有它們的情況下呼叫該過程。

例如,如果函式 ProcedureName 有兩個必需引數(argument1argument2)和一個可選引數 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。如果值提供,那麼這將覆蓋預設值。