Dictionaryオブジェクトを使ってみた
Dictionaryオブジェクトを使ってみました。Dictionaryオブジェクトは、まず、キーに要素(文字列など)を割り当てます。割り当てたオブジェクトのメソッドによりキーの文字列を取り出したり、削除したりできます。たとえば、"shusin1"というキーには"神奈川"という文字列を割り当てたら、"shusin1"キーを引数として"神奈川"という文字列を取り出せます。これを使って、複数のキーを使ってメッセージを作成してみたいと思います。まず、キーは以下のように決めました。
キー | 文字列 |
shusin1 | 神奈川 |
shusin2 | 沖縄 |
shusin3 | 東京 |
seikaku1 | 怠惰 |
seikaku2 | 優柔不断 |
seikaku3 | KY |
hito1 | 男性 |
hito2 | 女性 |
hito3 | 人 |
次にA1セル、B1セル、C1セルにキーを入力します。
(※セルは入力規則のリストで選択できるようにしました。)
実行結果です。
プログラムコードです。
'------------------------------- '参照設定 '・Microsoft Scripting Runtime '------------------------------- Option Explicit Sub message() 'Dictionaryオブジェクト生成 Dim objD As Dictionary Set objD = CreateObject("Scripting.Dictionary") 'キーと要素を設定 objD.Add "shusin1", "神奈川" objD.Add "shusin2", "沖縄" objD.Add "shusin3", "東京" objD.Add "seikaku1", "怠惰" objD.Add "seikaku2", "優柔不断" objD.Add "seikaku3", "KY" objD.Add "hito1", "男性" objD.Add "hito2", "女性" objD.Add "hito3", "人" 'メッセージ出力 Dim str1 As String Dim str2 As String Dim str3 As String str1 = objD.Item(Cells(1, "A").Value) str2 = objD.Item(Cells(1, "B").Value) str3 = objD.Item(Cells(1, "C").Value) MsgBox "あなたは" & str1 & "出身の" & str2 & "な" & str3 & "ですね。" Set objD = Nothing End Sub