https://qiita.com/towakey/items/2285e13e40d0879a995b
-- 1. 開発タブの挿入でボタンを作成
※ ActiveXコントロールのものを使用する
-- 2. デザインモードONで作成したボタンをダブルクリックするとエディタが開くので下記コードを記載。デザインモードOFFで実行
※ 下記設定必要
「Microsoft Scripting Runtime」の参照設定
VBA-JSONのインポート
Option Explicit
Private Sub CommandButton1_Click()
' 画面を更新しない
Application.ScreenUpdating = False
' 確認メッセージを表示しない
Application.DisplayAlerts = False
'テスト用JSONファイル作成
Open ThisWorkbook.Path & "\a.json" For Output As #1
Print #1, "["
Print #1, " {"
Print #1, " ""instanceid"": ""i-22222222222222222"","
Print #1, " ""Tags"": ""work2"""
Print #1, " },"
Print #1, " {"
Print #1, " ""instanceid"": ""i-33333333333333333"","
Print #1, " ""Tags"": ""work3"""
Print #1, " },"
Print #1, " {"
Print #1, " ""instanceid"": ""i-11111111111111111"","
Print #1, " ""Tags"": ""work1"""
Print #1, " }"
Print #1, "]"
Close #1
Dim buf As String
With CreateObject("ADODB.Stream")
.Charset = "Shift-JIS"
.Open
.LoadFromFile ThisWorkbook.Path & "\a.json"
buf = .ReadText
.Close
End With
Debug.Print (buf)
Dim jsonObj As Object
' JSONパース
Set jsonObj = JsonConverter.ParseJson(buf)
Dim j As Variant
For Each j In jsonObj
Debug.Print j("instanceid")
Debug.Print j("Tags")
Next
MsgBox ("処理完了")
' 確認メッセージを表示する
Application.DisplayAlerts = True
' 画面を更新する
Application.ScreenUpdating = True
End Sub