如何从像IsEmpty()的VBA标准库中重载函数?

时间:2015-03-03 18:37:05

标签: excel vba excel-vba

我想在类这样的类中创建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()

1 个答案:

答案 0 :(得分:7)

是。明确引用标准库。

VBA.IsEmpty()

<强>加成:
IsEmpty实际上属于Information对象。 完全显式调用看起来像这样。

bool = VBA.Information.IsEmpty(var)

object browser