'对象'是{worksheet,collection,class},因为'Variant'是{string,integer,array}?

时间:2016-09-22 23:50:03

标签: vba

我最近在VBA中发现了类的乐趣(部分是在这里的一些帖子的帮助下),并写了自己2,其中一个获取外部数据,另一个处理数据。

外部数据类针对数据存储执行SQL语句,或者根据我正在尝试实现的内容创建针对外部文件的QueryTable。

因此,我声明main函数返回一个Variant数据类型,这样我就可以返回检索到的记录集的集合或者对QueryTable写入的工作表的引用。 / p>

另一个类有几个函数,它们希望将集合作为参数。

所有这一切都是说尽管Variant能够存储一个集合,但当我试图将它传递给我的Collection函数时,我收到了一个错误。

查看“本地人”窗口,我注意到返回实际上是Variant/Object/Collection,所以为了看看会发生什么,我将返回类型更改为Object,它似乎适用于工作表和集合。

我已经阅读了Variant和Object的MSDN文章,但我不知道我偶然发现的解决方案是否实际可行/可靠。

有没有人知道这个?

0 个答案:

没有答案