IsMissing
返回一个Boolean,指示是否已将可选Variant参数传递给过程。
语法:IsMissing( argname )
- argname
- 必需 可选Variant过程参数的名称。
如果未为指定参数提供值,IsMissing返回True;否则返回False。在代码的其他位置使用缺失的参数可能会引发运行时错误。
如果对ParamArray参数使用IsMissing,它始终返回False。要检测空的ParamArray,请测试数组的上界是否小于其下界。
IsMissing不适用于Integer或Double等简单数据类型:与Variant不同,它们没有"缺失"标志的机制。对于有类型的可选参数,请指定默认值——如果省略参数,它将采用该默认值。在许多情况下,默认值形式完全消除了单独的IsMissing检查的需要。
vb
Sub MySub(Optional ByVal MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
End If
End Sub示例
本示例使用IsMissing检查是否已将可选参数传递给用户自定义过程。
vb
Dim ReturnValue As Variant
ReturnValue = ReturnTwice() ' Returns Null.
ReturnValue = ReturnTwice(2) ' Returns 4.
Function ReturnTwice(Optional A As Variant) As Variant
If IsMissing(A) Then
ReturnTwice = Null ' Argument missing — return Null.
Else
ReturnTwice = A * 2 ' Otherwise return twice the value.
End If
End Function