34、[VBA入門到放棄筆記] 字典:創建和編寫字典


  • 字典是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
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM