Excel-vba:使用字典作为成员变量创建一个类

时间:2018-06-24 14:48:34

标签: excel vba excel-vba

我想将Scripting.Dictionary作为类的成员变量。

我按照Putting dictionaries into classes的建议尝试了以下操作

但是我给Mathieu的答案不适用于excel vba。

我将以下内容放在类模块中。

Option Explicit
Private dict As Scripting.Dictionary

Private Sub Class_Initialize()
    Set dict = New Scripting.Dictionary
End Sub

我收到字典错误“未定义用户定义类型”。

出了什么问题?

谢谢。

1 个答案:

答案 0 :(得分:2)

您需要从VBE的“工具” |“ Microsoft”中添加对Microsoft脚本运行时的引用。引用,然后向下滚动并检查Microsoft脚本运行时的选项:

enter image description here

然后您甚至可以将代码简化为:

Option Explicit
Private dict As New Scripting.Dictionary

Private Sub Class_Initialize()

End Sub

否则,您必须使用后期绑定。

Option Explicit
Private dict As Object ' Scripting.Dictionary

Private Sub Class_Initialize()
    Set dict = CreateObject("Scripting.Dictionary") 'New Scripting.Dictionary
End Sub

请注意,这些选项都不能在Mac OS上使用。