- CompareMode : Dictionary Object 에서 String(문자열) Key를 비교하는 모드.
갖고있는 매서드 (Method)
- Add [key]: key 값 추가 (존재하면 에러 key값 중복x)
- Add [Value] : item 값 추가
- Remove [key] : 유저가 지정한 Key값 및 value 제거
- RemoveAll : 모든 Key와 Value 제거
- Exists(키값) : 키값이 존재하면 True 반환, 없으면 False 반환
- Keys : 모든 key값을 배열(array)반환
- Items : 모든 value값을 배열(array)로 반환
딕셔너리를 생성할 때는 아래와 같이 만든다.
' dictionary 만들때
dim oDict
Set oDict = CreateObject("scripting.Dictionary")
딕셔너리의 인자는 Key : item 으로 이루어져 있다.
Key와 item 은 서로 1:1 매칭이며, Key값은 중복되지 않으며 고유하다. 이를통해 item을 빠르게 찾을 수 있다.
생성한 dictionary에 key값과 item값을 추가하는 방법은 아래와 같다.
oDict.Add key값, item값 (여기서 oDict 은 Dictionaray object)
' key : item 으로 구성
' 1 : apple
' 2 : banana
' "test" : "orange"
' 으로 매칭시켜놓음
dim oDict
Set oDict = CreateObject("scripting.Dictionary")
' key : item 으로 구성
' Add 매서드를 이용해 값 넣기
oDict.Add 1,"apple"
oDict.Add 2,"banana"
oDict.Add "test", "orange"
' Item 프로퍼티(속성)을 이용해 넣는 방법
oDict.Item("example") = "juice"
msgbox oDict.item(1)
msgbox oDict.item(2)
msgbox oDict.item("test")
(실행결과) 위 key값들이 순서대로 출력
Key값 변경하기
key값 1을 item값을 제거하고, 새로운 값 "damm"을 넣음
' dictionary 만들때
dim oDict
Set oDict = CreateObject("scripting.Dictionary")
' key : item 으로 구성
oDict.Add 1,"apple"
oDict.Add 2,"banana"
oDict.Add "test", "orange"
' Item 프로퍼티(속성)을 이용해 넣는 방법
oDict.Item("example") = "juice"
' 해당 key값을 제거하고 새로운 item 값을 넣음
oDict.Remove 1
oDict.Add 1,"damm"
msgbox oDict.item(1)
반응형
(결과)
Key값 존재 여부 확인 후 값 넣기
Key값이 이미 존재 한다면 해당 Key에 새로운 값을 넣음
' dictionary 만들때
dim oDict
Set oDict = CreateObject("scripting.Dictionary")
' key : item 으로 구성
oDict.Add 1,"apple"
oDict.Add 2,"banana"
oDict.Add "test", "orange"
' Item 프로퍼티(속성)을 이용해 넣는 방법
oDict.Item("example") = "juice"
if oDict.exists(1) then
oDict.item(1) = "pineapple"
End if
msgbox oDict.item(1)
아래 예시는 좀 더 복잡하게 Dictionary를 선언하여 Value값에 List와 같은 값을 넣어서 활용하는 방법이다.
DataSheetFileName = "test"
' Example of how to launch a third party executable
Dim Win
Set win = CreateObject("WScript.shell") ' Create the windows object
'Use the run method to launch an application on the specific datasheet
win.run "notepad.exe " & DataSheetFileName
반응형
DataSheetFileName 에 특정 .txt 파일명을 넣으면 해당 파일을 연다. (로그 파일 열때 사용하면 좋음)