回傳一個 布林 值,表示是否已傳遞可選的 Variant參數 給 某程序。
語法
IsMissing (argname)
所需的 argname 參數包含一個可選的 Variant 程序參數名稱。
註解
使用 IsMissing 函式來偵測呼叫程序時是否提供了可選的 變體 參數。 如果指定參數未傳遞任何值,IsMissing 會回傳 True;否則,則回傳 False。
如果 IsMissing 對某個參數回傳 True ,若在其他程式碼中使用該缺失參數,可能會導致使用者自訂錯誤。
如果 IsMissing 用於 參數陣列 參數,它總是回傳 False。 要偵測空的 參數陣列,測試陣 列 的上界是否小於下界。
IsMissing 無法處理簡單的資料型別 (,如 整數 或 雙) ,因為與 Variants 不同,它們沒有「缺少」標誌位元的配置。 因此,輸入型別的可選參數語法允許你指定預設值。 若在呼叫程序時省略了參數,該參數將維持此預設值,如下範例所示。
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
在很多情況下,如果使用者在函式呼叫中省略了預設值,你可以完全省略 If MyVar 這個測試,將預設值設為你想 MyVar 包含的值。 這會讓你的程式碼更簡潔且高效。
範例
本範例使用 IsMissing 函式來檢查是否已傳遞給使用者自訂的程序中的可選參數。 請注意, Optional 參數現在可以有預設值和類型,除了 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
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。