回答編集履歴

1

Dictionaryを配列にする

2019/01/03 09:25

投稿

TanakaHiroaki
TanakaHiroaki

スコア1063

test CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  なお、JsonConvertのテストは行っていないことをご承知おきください。
4
4
 
5
+ <追記>
5
6
 
7
+ Dic.RemoveAll が空欄の原因となっていましたのでコードを修正しました。
8
+
9
+ JsonConvertのテストも実施済みです。
6
10
 
7
11
  ```VBA
8
12
 
@@ -46,11 +50,13 @@
46
50
 
47
51
  '==ここから修正
48
52
 
49
- 'Dictionaryの定義
53
+ 'Dictionaryの定義(配列を用いた)
50
54
 
51
- Dim Dic As Object
55
+ Dim Dic(1 To 2) As Object
52
56
 
53
- Set Dic = CreateObject("Scripting.Dictionary")
57
+ Set Dic(1) = CreateObject("Scripting.Dictionary")
58
+
59
+ Set Dic(2) = CreateObject("Scripting.Dictionary")
54
60
 
55
61
 
56
62
 
@@ -68,23 +74,17 @@
68
74
 
69
75
  'Dictionaryにレコードを入れる
70
76
 
71
- Dic.Add Cells(1, j).Value, Cells(i, j).Value
77
+ Dic(i - 1).Add Cells(1, j).Value, Cells(i, j).Value
72
78
 
73
79
  Next j
74
80
 
75
81
  'CollectionにDictionaryオブジェクトを入れる
76
82
 
77
- Col.Add Dic
83
+ Col.Add Dic(i - 1)
78
-
79
- Dic.RemoveAll
80
84
 
81
85
  Next i
82
86
 
83
87
 
84
-
85
- Set Dic = Nothing
86
-
87
-
88
88
 
89
89
  JsonObject.Add "id", 1
90
90