【聲明:這是一篇轉(zhuǎn)帖,帖子鏈接如下】 http://club./thread-1255312-1-1.html 有人問到為什么字典 d.keys()(i)/d.items(i) 這種寫法,。 首先,,得看看字典的對(duì)象的方法和說明。 詳細(xì)參考帖子鏈接: http://club./thread-265056-1-1.html items()和keys()都是字典對(duì)象的方法,。返回的都是一維數(shù)組,。 如下代碼:將數(shù)組arr放進(jìn)字典,用keys()方法讀取其每個(gè)key,。 Sub Macro2() '后期綁定字典 Dim d As Object, i& Set d = CreateObject('scripting.dictionary') arr = [{'a','b','c'}] For i = 1 To UBound(arr) d(arr(i)) = '' Next For i = 0 To d.Count - 1 MsgBox d.keys()(i) Next End Sub 又有如下代碼:采用的是前期綁定字典,,所以key()中后面的()可以省略。 不要問為什么可以省略,,因?yàn)樗褪沁@樣設(shè)定的,,沒有為什么。 Sub Macro3()'前期綁定字典,引用Microsoft Scripting Runtime Dim d As New Dictionary, i& arr = [{'a','b','c'}] For i = 1 To UBound(arr) d(arr(i)) = '' Next For i = 0 To d.Count - 1 MsgBox d.keys(i) Next End Sub 關(guān)于前期綁定字典和后期綁定字典,,在這里仍然不會(huì)多說,,百度一下就有很多資料。 記住上面代碼的套路就行,。 如果都覺得上面的套路麻煩,,那么,就來個(gè)統(tǒng)一的做法,。 【將字典的key和item都通通賦值到數(shù)組】 如下代碼:關(guān)鍵語句: k = d.keys,,k就是一個(gè)一維數(shù)組,它包含的都是字典d的所有key,,然后通過遍歷數(shù)組k的方法,,遍歷字典的每個(gè)key。 【用操作數(shù)組的方法來解決問題,?!?/span> Sub Macro1() Dim d As Object, i&, k Set d = CreateObject('scripting.dictionary') arr = [{'a','b','c'}] For i = 1 To UBound(arr) d(arr(i)) = '' Next k = d.keys For i = 0 To d.Count - 1 MsgBox k(i) Next End Sub 實(shí)際來說,k=d.keys(),,也能將字典的key賦值到數(shù)組,。是不是()可以省略呢,!? |
|