傳回 布林值 ,指出是否已將選用的 Variant 引數傳遞至程序。
語法
IsMissing (argname)
必要 argname 引數包含選用 Variant 程序引數的名稱。
註解
使用 IsMissing 函數來偵測呼叫程序時是否提供選用的 Variant 引數。 如果指定的引數未傳遞任何值,則 IsMissing 傳回 True;否則傳回 False。 如果 IsMissing 傳回引數的 True ,在其他程式碼中使用遺失的引數可能會導致使用者定義的錯誤。 如果在 ParamArray 引數上使用 IsMissing,則一律會傳回 False。 若要偵測空的 ParamArray,請測試陣列的上限是否小於其下限。
注意
IsMissing 不適用於簡單的資料類型 (例如 Integer 或 Double) ,因為與 Variants 不同,它們沒有「遺失」旗標位元的規定。 因此,輸入選用引數的語法可讓您指定預設值。 如果在呼叫程序時省略引數,則引數會具有此預設值,如下列範例所示:
注意
下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
在許多情況下,您可以讓預設值等於使用者在函數呼叫中省略它時想要包含的值MyVar,從而完全省略If MyVar測試。 這使得您的程式碼更加簡潔和高效。
範例
此範例使用 IsMissing 函數來檢查是否已將選用引數傳遞至使用者定義的程序。 請注意, 選擇性 引數現在可以有 Variant 以外的預設值和類型。
Dim ReturnValue
' The following statements call the user-defined
' function procedure.
ReturnValue = ReturnTwice() ' Returns Null.
ReturnValue = ReturnTwice(2) ' Returns 4.
' Function procedure definition.
Function ReturnTwice(Optional A)
If IsMissing(A) Then
' If argument is missing, return a Null.
ReturnTwice = Null
Else
' If argument is present, return twice the value.
ReturnTwice = A * 2
End If
End Function