共用方式為


IsMissing 函數

回傳一個 布林 值,表示是否已傳遞可選的 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 支援與意見反應