在VBA中将字典字符串项更改为嵌套字典

时间:2015-04-15 21:43:33

标签: vba dictionary nested

在我last venture with dictionaries之后我尝试了这段代码:

Dim data, tmpDict As Dictionary
Set data = New Dictionary

data.Add "abc", "abc"

Set tmpDict = New Dictionary

data("abc") = tmpDict

收到运行时错误

  

错误450 - 参数数量错误或属性分配无效

所以,这是我的问题:如何将字典项目作为字符串更改为另一个字典,以便它嵌套到第一个?

1 个答案:

答案 0 :(得分:1)

您是否希望将tmpDict作为密钥abc的返回值?在这种情况下,您应该从头开始嵌套:

Dim data, tmpDict As Dictionary
Set data = New Dictionary
Set tmpDict = New Dictionary
data.Add "abc", tmpDict

或者,如果您想保留代码的结构,则应使用关键字Set,因为您正在设置对象的引用:

Dim data, tmpDict As Dictionary
Set data = New Dictionary
data.Add "abc", "abc"
Set tmpDict = New Dictionary
Set data("abc") = tmpDict

我承认我可能误解了这个问题,请在这种情况下告诉我,我会编辑/删除我的答案。