【发布时间】:2016-04-18 19:13:33
【问题描述】:
我正在尝试声明一个公共字典变量,只要工作簿打开,该变量就会继续存在。目前我在我的一个模块的顶部使用:
Public dict As Scripting.Dictionary
我可以从同一个模块中的多个 sub 访问它,但是一旦所有代码完成运行,它就会超出范围。我已经尝试在 Workbook_Open() 子中声明它,但这似乎也无法生存。
我这样做的原因:我正在加载大量外部 XML 信息,当工作表快速打开时我需要动态访问这些信息(所以我不想每次都重新加载 xml)。相反,我宁愿在开始时加载 XML,将相关信息分类到执行我需要的工作的自定义类的实例中。
有什么建议吗?
谢谢
编辑:
我已经按照下面的建议添加了代码,但是一旦代码完成运行,字典似乎仍然超出范围。当其他潜艇尝试访问它时,我收到“需要对象”错误
Option Explicit
Public dict As Scripting.Dictionary
Private Sub Workbook_Open()
Set dict = New Scripting.Dictionary
dict.Add "ID", New cItemClass
End Sub
【问题讨论】: