- 字典是VBA中一個十分有用的對象。
- VBA中的字典和現實中的【新華字典】、【成語字典】功能一樣,都是用來儲存信息,並利用檢索查詢信息的強大工具。
字典的聲明和創建
- 1、字典的聲明分為兩種,一種是前期綁定,一種是后期綁定。不用管太多,記住后期綁定的寫法。
- 2、字典既然是對象,那么就用set語句來設定。下面是設置一個字典的寫法,要使用字典,必先創建一個字典。
Dim d As Object '聲明對象 Set d = CreateObject("scripting.dictionary") '創建字典,d是字典的名稱
- 3、運行代碼后,VBA就創建了一個我們看不到的字典。
- 4、假如我們想要知道天道酬勤是什么意思?在【成語字典】中檢索{天道酬勤},就知道其意思是{上天會按照每個人付出的勤奮,給予相應的酬勞。多一分耕耘,多一分收獲。};VBA字典做的也是這樣檢索查找的動作過程,這個過程就是VBA中字典的功能過程。【成語字典】是編出來的,同樣,VBA字典也可以由你編出來。
ADD方法:編寫字典,向字典中新建條目數據。
下面就由我們來編寫VBA字典,其步驟如下:
- 5.1、創建字典(空白的)
- 5.2、編寫字典,使{天朝酬勤}的意思是{上天會按照每個人付出的勤奮,給予相應的酬勞。多一分耕耘,多一分收獲。}.......
Sub zd() Dim d As Object Set d = CreateObject("scripting.dictionary")'創建字典d '編寫字典,增加條目數據 d.Add "天朝酬勤", "上天會按照每個人付出的勤奮,給予相應的酬勞。多一分耕耘,多一分收獲。" d.Add "天王蓋地虎", "寶塔鎮河妖" '查閱字典 s = d("天朝酬勤") s1 = d("天王蓋地虎") End Sub

字典
- 至此,字典編寫完畢,總共有2個條目,一個是"天朝酬勤",一個是"天王蓋地虎";當我們檢索"天道酬勤"時只需要這樣--d("天朝酬勤"),這樣就能夠得出"天朝酬勤"這成語是什么意思了(圖片箭頭)。
- 這里 "天道酬勤" 是字典d的key(關鍵字)
- "會按照每..." 是字典d中的(key--"天道酬勤")的 item(項目)
- 當我們 d(key)就得出其item,key是用於檢索查找的。item是看不到的,但卻是存在的。
- 一條完整的字典條目,必須有key和item。
好吧,然后我們忘了ADD這個方法吧!
- 將上面的代碼換成我們熟悉的“=”,直觀簡單。等號左邊的是key,右邊的是item。上下兩個代碼效果一樣。
Sub zd() Dim d As Object Set d = CreateObject("scripting.dictionary") d("天朝酬勤") = "上天會按照每個人付出的勤奮,給予相應的酬勞。多一分耕耘,多一分收獲。" d("天王蓋地虎") = "寶塔鎮河妖" s = d("天朝酬勤") s1 = d("天王蓋地虎") End Sub

=代替add好處多
- 這里介紹了字典中一個條目的組成:key和item;以及創建一個條目的方法‘=’。一個條目有key和item組成,字典由N個條目組成(集合)。
忘記add,忘記add,忘記add,不要用它,用‘=’號,然后你的境界就提升了。
作者:葉知行
鏈接:https://www.jianshu.com/p/e5895b007c52
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。