使用默认属性将自定义对象添加到字典

时间:2015-12-02 13:50:52

标签: excel-vba dictionary vba excel

请考虑以下事项:

Dim p As myObject 
Dim pDict As Scripting.Dictionary

p = New myObject
pDict = New Scripting.Dictionary

pDict.Item(Range("A" & i).Value) = p

p通过DefProperty拥有默认属性Attribute Value.VB_UserMemId = 0

当我尝试将p添加到pDict时,只会添加默认属性。所需的结果是将p完整添加到pDict

致电? p与致电? p.DefProperty相同,所以事后我可以理解为什么我会得到错误的结果 - 我不明白的是如何获得对了。

1 个答案:

答案 0 :(得分:1)

您将不得不Set pDict.Item(Range("A" & i).Value) = p。对p对象的后续更改应反映在该字典项中。与将范围类型变量设置为Range object类似。