函数声明中的VBA可空类型

函数声明中的VBA可空类型,vba,ms-access,Vba,Ms Access,我创建了一个带有可选布尔参数的函数 我想测试参数是在函数调用中设置的还是留空的,但是很明显,当布尔值没有设置时,它的值仍然是false 我想我可以在函数声明中使用可为null的修饰符,但我尝试了所有不同形式的声明: Function myFunction (foo As Integer, Optional bar As Nullable(Of Boolean)) Function myFunction (foo As Integer, Optional bar As Boolean?) Func

我创建了一个带有可选布尔参数的函数

我想测试参数是在函数调用中设置的还是留空的,但是很明显,当布尔值没有设置时,它的值仍然是false

我想我可以在函数声明中使用可为null的修饰符,但我尝试了所有不同形式的声明:

Function myFunction (foo As Integer, Optional bar As Nullable(Of Boolean))
Function myFunction (foo As Integer, Optional bar As Boolean?)
Function myFunction (foo As Integer, Optional bar? As Boolean)
在这三种情况下,我都会收到一个编译错误,表示缺少列表分隔符(或)


正确的语法是什么(或者是否有可能执行我正在尝试执行的操作?

您必须为该参数使用变量类型,并且可能是IsMissing函数在这种情况下会很有用。

非常感谢。这很有道理,我不明白为什么我一开始没有想到这一点。我想我太习惯强类型语言了。