使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

返回一个 布尔 值,该值指示是否已将可选的 Variant参数 传递给 过程 。

语法

IsMissing ( argname )

所需的 argname 参数包含可选 Variant 过程参数的名称。

备注

使用 IsMissing 函数检测在调用过程中是否提供了可选的 Variant 参数。 如果未为指定参数传递任何值,则 IsMissing 返回 True;否则,返回 False。 如果 IsMissing 为参数返回 True ,则在其他代码中使用缺少的参数可能会导致用户定义的错误。 如果对 ParamArray 参数使用 IsMissing,则始终返回 False。 若要检测空 ParamArray,请测试以查看数组的上限是否小于其下限。

注意:  IsMissing 不适用于简单的数据类型 (,例如 IntegerDouble) ,因为与 Variants 不同,它们没有针对“缺失”标志位的预配。 因此,类型化可选参数的语法允许指定默认值。 如果在调用过程时省略参数,则该参数将具有此默认值,如以下示例所示:

注意: 下面的示例演示了如何在 Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在搜索旁边的下拉列表中选择“开发人员参考”,并在搜索框中输入一个或多个术语。

Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub

在许多情况下,可以完全省略 If MyVar 测试,方法是将默认值设置为与 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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×