[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Jsonデータをセルに出力』(初心者)
{"": "","東京": "AKB","名古屋": "SKE","大阪": "NMB","博多": "HKT","新潟": "NGT"}
上記のようなJsonデータの値のみを指定のセルに出力するマクロの書き方を教えていただきたいです。
自分なりにネットで調べてみたのですが、全然理解できず…。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
「json vba 読み込み」でググったら結構色々引っ掛かりますね。
VBA-JSONのインストール方法と簡単な使い方使い方
https://javeo.jp/vba-json/
(白茶) 2022/09/16(金) 18:15
すでにご指摘いただいたとおりです。
その文字列がA1にあるとして、 キーをB列に itemをC列に 取り出すコード例は以下のとおりです。 参考にしてください。
Rem VBA-JSONのインストール Rem Microsoft Scripting Runtime の参照設定が必要 Sub test() Dim s As String Dim res As Variant Dim v As Variant Dim keys As Variant
s = [A1].Value Set res = ParseJson(s)
keys = res.keys v = res.Items [B1].Resize(res.Count, 1) = Application.Transpose(keys) [C1].Resize(res.Count, 1) = Application.Transpose(v) Stop End Sub
コンバータはこれがデファクトスタンダードですね。 なお、この例に限れば、Split等を使って取り出すことは可能ですが、 もっと複雑なJsonデータがあるとすれば、ライブラリーを使うことを推奨します。 (γ) 2022/09/16(金) 19:12
(γ) 2022/09/16(金) 19:18
遅ればせながら若干の追加です。
VBA-JSONによる、Parseの結果は、 ・配列 ・Dictinary(連想配列) を使ったもので返されます。(それらを入れ子にしたものになることが多いようです)
提示されたデータについて説明しますと(これは、比較的シンプルなものです)、 key Item ======= ======= "" "" "東京" "AKB" "名古屋" "SKE" "大阪" "NMB" といったkeyとItemのペアを管理したDictionaryが Set res = ParseJson(s) で返される res というデータの中身です。
JSONデータを取り扱うには、 まず、「配列」とか、「Dictionary」といったデータ構造を知る必要があります。 ご存じでなければ、その2つを学習してください。 ここではすべてを説明するわけにいきませんので、 ご自分で検索するなり、手元の書籍等で調べてみて下さい。 (γ) 2022/09/17(土) 23:20
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.