我想在类这样的类中创建IsEmpty()
的本地版本:
Public Dict As Dictionary
Public Function isEmpty(columnName As Variant) As Boolean
isEmpty = IsEmpty(Dict(columnName))
End Function
这是为了隐藏信息,以便我可以调用
classInstance.isEmpty("someField")
而不是
isEmpty(classInstance.Dict("someField"))
因此不会暴露类的内部数据结构。
但问题是我声明的isEmpty()
版本似乎覆盖了对IsEmpty()
的VBA库版本的任何引用,因为它产生了Out of stack
错误,崩溃的Excel。我认为这是因为isEmpty = IsEmpty(...)
调用导致无限递归。
有没有办法可以明确引用我想在这里调用的标准版IsEmpty()
?
答案 0 :(得分:7)
是。明确引用标准库。
VBA.IsEmpty()
<强>加成:强>
IsEmpty
实际上属于Information
对象。 完全显式调用看起来像这样。
bool = VBA.Information.IsEmpty(var)