set d = createobject("scripting.dictionary")为何不能使用 d.key(d.keys(0))="牛一斤"

Sub test()
Set d = CreateObject("scripting.dictionary")
d.CompareMode = 0 '1则不区分大小写,0则区分大小写
d.Add "a", ""
d.Add "A", ""
d.Add "张三", "13434544323"
d.Add "李四", "13589898999"
d.Add "王五", "13456565567"
d.Key("王五") = "牛三斤"
d.Key(d.Keys(0)) = "牛一斤" '必须 dim d as new dictionary 才能使用
d.item(d.keys(0)) = "123" '必须 dim d as new dictionary 才能使用
end sub

第1个回答  2017-03-10
你这个问题出在 d.Keys(0) 上。
d.Keys 方法返回包含字典的所有关键字的一维数组,但是该方法不能直接使用类似 d.Keys.Item 的样式引用其中的元素。必须先将返回的数组赋值给一个数组变量,类似:
Dim Arr As Variant
Arr=d.Keys
d.Key(Arr(0)) = "牛一斤"本回答被提问者和网友采纳
相似回答