VBA - Build HashMap by Dictionary

由於工作上剛好有需求要將轉出的Excel檔做資料處理,而做資料處理常用到的資料型態推

HashMap還蠻常用的,例如:若key對應到的value,其key不是如Array index的數字,而是某

個編號(含數字、英文、中文等),那麼HashMap的型態就可以說是首要選擇了。

而在VBA內想要建立HashMap的資料型態,得先去做一些設定,如下:

File Menu => 工具 =>  設定引用項目 => Microsoft Script Control 1.0



如此一來即可以使用Dictionary type去建立key => value的資料結構,宣告語法如下:

Dim id2value As Dictionary
Set id2value = new Dictionary

put key => value
id2value.Add "4132A", 1 

請注意!如果您Add進已存在的key,程式並不會直接覆蓋過去,而會跳出錯誤!

因此,如果要避免這件事,請見做條件判斷!


If id2value.Exists("4132A") = False Then
    id2value.Add "4132A", 1
End If

另外,要走訪此Dictionary variable可透過如下語法:
For Each k In id2value.Keys
    Debug.Print id2value.Item(k)
Next

基本的使用語法大致如上,在這邊做個簡要的紀錄,以備不時之需!

留言