VBA函数声明中的可为空类型

4

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

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

我原本以为可以在函数声明中使用Nullable修饰符,但我尝试过各种不同形式的声明:

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)

在所有三种情况下,我都会收到编译错误提示,说缺少列表分隔符或者括号。
正确的语法是什么(或者根本不可能实现我的尝试?)
1个回答

4

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


非常感谢。这么有意义,以至于我不明白为什么我一开始没有想到这个。我猜我太习惯强类型语言了。 - user1747281

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接