我有一个集合,我已经在模块的顶部声明为 Public myCol as new Collection 我使用Sub来填充集合,但是这并没有写入全局集合,并且在退出Sub时,内容就消失了。 我假设这些项目,因为在子程序中创建,所以只有本地作用域。 如何使用例程或函数全局填充集合? 如果可能的话,我希望不必传递对象,因为我在单个子例程中填充了多个全局集合。
Private m_collection As VBA.Collection
Public Property Get GlobalCollection() As VBA.Collection
If m_collection Is Nothing Then Set m_collection = New VBA.Collection
Set GlobalCollection = m_collection
End Property
1条答案
按热度按时间yzuktlbb1#
创建一个标准模块来保存你的公共对象,并通过属性公开它们。然后属性getter可以在返回对象之前检查对象是否已经初始化。
请看一个例子:
称之为:
或