【问题标题】:Excel-vba: Create a class with a dictionary as a member variableExcel-vba:创建一个以字典为成员变量的类
【发布时间】:2018-06-24 14:48:34
【问题描述】:

我想要一个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

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

出了什么问题?

谢谢。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您需要从 VBE、Tools | 添加对 Microsoft Scripting Runtime 的引用。参考,然后向下滚动并检查 Microsoft Scripting Runtime 选项:

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

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多