質問編集履歴
8
使用したVBA-JSONの所在を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -68,4 +68,8 @@
|
|
68
68
|
VBA-JSONを使って上記のように記載した場合は、最初の"AA"は取り出すことができますが、二週目の"AA"の"XXX10"が取り出すことができなくて困っています。二週目の"AA"の値が指定して取り出せれば、VBA-JSONでも構いません。
|
69
69
|
jsonファイルに同じ名前の付いた2週目のファイルの取り出し方が分からなかったため、他の方法を探していた次第です。
|
70
70
|
|
71
|
-
使用環境は 64bit版エクセルとなります。
|
71
|
+
使用環境は 64bit版エクセルとなります。
|
72
|
+
|
73
|
+
上記のVBA-JSONはcx20さんが教えてくださった下記を使用しています。
|
74
|
+
■ VBA-JSON
|
75
|
+
https://github.com/VBA-tools/VBA-JSON
|
7
文言修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -34,7 +34,8 @@
|
|
34
34
|
jsonファイルは、見やすいように改行しましたが、これが全部、改行無しでくっついて
|
35
35
|
一行扱いになっているのでどうやって、VBAで読み込んだらいいか、調べているところです。
|
36
36
|
どなたか、ご教授いただけると助かります。。。
|
37
|
-
ちなみに、上記のデータセットは5000セットくらいあります。
|
37
|
+
ちなみに、上記のデータセットは「以降、省略」と記載されている部分だけで5000セットくらいあります。
|
38
|
+
あたまの”AA"が5000千回くるかんじです。
|
38
39
|
|
39
40
|

|
40
41
|
|
6
使用環境の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -65,4 +65,6 @@
|
|
65
65
|
```
|
66
66
|
|
67
67
|
VBA-JSONを使って上記のように記載した場合は、最初の"AA"は取り出すことができますが、二週目の"AA"の"XXX10"が取り出すことができなくて困っています。二週目の"AA"の値が指定して取り出せれば、VBA-JSONでも構いません。
|
68
|
-
jsonファイルに同じ名前の付いた2週目のファイルの取り出し方が分からなかったため、他の方法を探していた次第です。
|
68
|
+
jsonファイルに同じ名前の付いた2週目のファイルの取り出し方が分からなかったため、他の方法を探していた次第です。
|
69
|
+
|
70
|
+
使用環境は 64bit版エクセルとなります。
|
5
文言修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -64,4 +64,5 @@
|
|
64
64
|
MsgBox Json("AA")
|
65
65
|
```
|
66
66
|
|
67
|
-
VBA-JSONを使って上記のように記載した場合は、最初の"AA"は取り出すことができますが、二週目の"AA"の"XXX10"が取り出すことができなくて困っています。
|
67
|
+
VBA-JSONを使って上記のように記載した場合は、最初の"AA"は取り出すことができますが、二週目の"AA"の"XXX10"が取り出すことができなくて困っています。二週目の"AA"の値が指定して取り出せれば、VBA-JSONでも構いません。
|
68
|
+
jsonファイルに同じ名前の付いた2週目のファイルの取り出し方が分からなかったため、他の方法を探していた次第です。
|
4
VBA-JSONでやってみたところ二週目を取り出す方法が分からない。。。
title
CHANGED
File without changes
|
body
CHANGED
@@ -48,4 +48,20 @@
|
|
48
48
|
|
49
49
|
上記を実現する方法をVBAで書きたい。。。
|
50
50
|
と思って調べているところです。。「先頭から読み込む」では無く「一行づつ」なら、いけそうな
|
51
|
-
感じもするのですが、、、、。
|
51
|
+
感じもするのですが、、、、。
|
52
|
+
|
53
|
+
```VBA-JSONでやってみたところ。。。
|
54
|
+
Dim buf, str As String
|
55
|
+
With CreateObject("Scripting.FileSystemObject")
|
56
|
+
With .GetFile("D:\XXX\ex.json").OpenAsTextStream
|
57
|
+
buf = .ReadAll
|
58
|
+
.Close
|
59
|
+
End With
|
60
|
+
End With
|
61
|
+
buf = Replace(buf, "[", "")
|
62
|
+
buf = Replace(buf, "]", "")
|
63
|
+
Dim Json: Set Json = JsonConverter.ParseJson(buf)
|
64
|
+
MsgBox Json("AA")
|
65
|
+
```
|
66
|
+
|
67
|
+
VBA-JSONを使って上記のように記載した場合は、最初の"AA"は取り出すことができますが、二週目の"AA"の"XXX10"が取り出すことができなくて困っています。そこで別の方法を考えている次第です。。。
|
3
jsonファイルの2週目の記載を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -19,10 +19,12 @@
|
|
19
19
|
}
|
20
20
|
},
|
21
21
|
{
|
22
|
+
"AA": "XXX10",
|
22
|
-
|
23
|
+
"BB": {
|
24
|
+
以降、省略
|
23
25
|
},
|
24
26
|
{
|
25
|
-
以降、
|
27
|
+
以降、省略
|
26
28
|
}
|
27
29
|
]
|
28
30
|
```
|
2
情報更新
title
CHANGED
File without changes
|
body
CHANGED
@@ -34,4 +34,16 @@
|
|
34
34
|
どなたか、ご教授いただけると助かります。。。
|
35
35
|
ちなみに、上記のデータセットは5000セットくらいあります。。。
|
36
36
|
|
37
|
-

|
37
|
+

|
38
|
+
|
39
|
+
実現したいことを整理します。
|
40
|
+
VBAで下記のコードを実現したいのです。
|
41
|
+
・改行が無いため先頭から読み込む。
|
42
|
+
・先頭から読み込みながら、「: {」があったら階層を一つ下がって「BB.B3.EE1」して、
|
43
|
+
その値を読み込む。
|
44
|
+
・「}」があれば一つ階層を上げる。(「BB.B3」階層に戻る)
|
45
|
+
・項目はエクセルの一行目と一致したら出力する。
|
46
|
+
|
47
|
+
上記を実現する方法をVBAで書きたい。。。
|
48
|
+
と思って調べているところです。。「先頭から読み込む」では無く「一行づつ」なら、いけそうな
|
49
|
+
感じもするのですが、、、、。
|
1
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,9 +27,11 @@
|
|
27
27
|
]
|
28
28
|
```
|
29
29
|
|
30
|
-
下記のようなイメージで考えているのですが、
|
30
|
+
下記のような出力イメージで考えているのですが、微妙なネスト状態になっているので
|
31
|
+
アイデアが思い浮かびません。。。。
|
31
32
|
jsonファイルは、見やすいように改行しましたが、これが全部、改行無しでくっついて
|
32
33
|
一行扱いになっているのでどうやって、VBAで読み込んだらいいか、調べているところです。
|
33
34
|
どなたか、ご教授いただけると助かります。。。
|
35
|
+
ちなみに、上記のデータセットは5000セットくらいあります。。。
|
34
36
|
|
35
37
|

|