1. ホーム
  2. スクリプト・コラム
  3. vbs

VBS の基本 - vbscript 辞書オブジェクト

2022-02-08 19:33:36

Dictionaryは、データのキーと項目のペアを格納するオブジェクトである。主なプロパティは Count、Item、Key で、主なメソッドは Add、Exists、Items、Keys、Remove、および RemoveAll です。
Dictionaryオブジェクトの作成 

'Define and create a Dictionary object, using CreateObject to create and return a reference to the automation object
Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")

キーバリューの追加 

Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")
'Add a key-value pair to the Dictionary object
Dic.Add "Name", "Sirrah" 'Add method the first parameter is the Key value, the second is the Item value
Dic.Add "Age", 23  

キー値の削除   

Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")
Dic.Add "Name", "Sirrah" 'Add a key-value pair to the Dictionary object
Dic.Add "Age", 23
Dic.Item("Age") = 22 'Modify the value of the key Age
MsgBox Dic.Item("Age") 'Output 22 

キーが存在するかどうかを判断する  

Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")
Dic.Add "Name", "Sirrah" 'Add a key-value pair to the Dictionary object
Dic.Add "Age", 23
MsgBox Dic.Exists("Age") 'Determine if the key exists 

すべてのキー値を出力する
Dictionaryオブジェクトのすべてのキーを出力するために、2つの一般的なループメソッドについて説明します。

Dim Dic,Dics
Set Dic = CreateObject("Scripting.Dictionary")
Dic.Add "Name", "Sirrah" 'Add a key-value pair to the Dictionary object
Dic.Add "Age", 23
Dics = dic.Items 'Items returns an array of all Item values
For i = 0 To dic.Count - 1 'Count returns the number of Dictionary object keys
 str = str & Dics(i) & vbCrlf
Next
MsgBox(str)
Dim Dic,Dics
Set Dics = CreateObject("Scripting.Dictionary")
Dics.Add "Name", "Sirrah" 'Add a key-value pair to the Dictionary object
Dics.Add "Age", 23
For Each Dic In Dics 'Loop through the Dictionary keys and output the key values
 MsgBox Dics.Item(Dic)
Next

例を追加する

スクリプトファイル: a.vbs、辞書の追加、削除、キーが存在するかどうかの判断、キーの変更、値の変更、トラバース、キーと値のペアの数のカウントが含まれています。

'Create a dictionary
Dim Dict : Set Dict = CreateObject("Scripting.Dictionary")

'Add a key-value pair
Dict.Add "Key1", "Item1"
Dict.Add "Key2", "Item2"
Dict.Add "Key3", "Item3"

'Number of key-value pairs in the dictionary
WScript.Echo "Number of existing key-value pairs in dictionary: " & Dict.Count 'Let a script display text information on the screen

WScript. 

'Check if the specified key exists
If Dict.Exists("Key1") Then
 WScript.Echo "Key1 exists! "
Else
 WScript.Echo "Key1 does not exist! "
End If

If Dict.Exists("Keyn") Then
 WScript.Echo "Keyn exists! "
Else
 WScript.Echo "Keyn does not exist! "
End If

WScript. 

'Traverse the dictionary
Sub TraverseDict
 Dim DictKeys, DictItems, Counter
 DictKeys = Dict.
 DictItems = Dict.Items 'Items returns an array of all Item values
 For Counter = 0 To Dict.Count - 1 'Count returns the number of Dictionary object keys
 WScript.Echo _
  "Keys: " & DictKeys(Counter) & _ '& String concatenation operator
  "Value: " & DictItems(Counter)
 Next
End Sub

TraverseDict

WScript. 

'In a key-value pair, modify the key or modify the value
Dict.Key("Key2") = "Keyx"
Dict.Item("Key1") = "Itemx"
TraverseDict

WScript.Echo 

'Delete the specified key
Dict.Remove("Key3")
TraverseDict

WScript. 

'Remove all keys
Dict.RemoveAll
WScript.Echo "Number of existing key-value pairs in dictionary: " & Dict.Count

呼び出し方法です。a.batをダブルクリックすることで呼び出されます。a.batのコードは以下の通りです。

cscript a.vbs
ポーズ

実行結果のスクリーンショット。