このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】JSONをパースする方法(VBA-JSONの使い方)

2024年6月26日

今回はVBAでJSONをパースする方法を紹介します。

JSONのパースにはGitHubに公開されているライブラリ(VBA-JSON)を使用します。

この記事では↓の内容が分かります。

  • VBA-JSONを使うまでの準備事項
  • VBA-JSONの使い方

VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

準備①:Microsoft Scripting Runtimeの参照設定

VBA-JSONではDictionary(辞書型)を使用しているため、Microsoft Scripting Runtimeの参照設定が必要になります。予め参照設定を追加してください。

参照設定の追加方法については下記記事をご覧ください。

準備②:VBA-JSONをダウンロード

https://github.com/VBA-tools/VBA-JSON/releases/tag/v2.3.1

上のリンク先(GitHub)からSource codeファイルをダウンロードします。

ダウンロードしたファイルを解凍すると上の画像のファイルが存在します。使うのはこの中の「JsonConverter.bas」ファイルとなります。

ファイルのインポート

VBEを開き、右クリックで画像のように「ファイルのインポート」ボタンを押します。

あとは先ほどダウンロードした「JsonConverter.bas」ファイルをインポートすれば準備は完了です。

VBA-JSONの使い方

Sub Sample()
    
    Dim Json As Object
    Set Json = JsonConverter.ParseJson("{""a"":123,""b"":[1,2,3,4],""c"":{""d"":456}}")
    
    Debug.Print Json("a") '123
    Debug.Print Json("b")(2) ' 2
    Debug.Print Json("c")("d") '456
End Sub

JSONのパースにはモジュール(JsonConverter)内のParseJsonプロシージャを使います。

ParseJsonプロシージャは引数にJson文字列を渡すと、Jsonを連想配列にパースして返してくれます。

サンプルコードのように連想配列にキーを渡すことで目的の情報を取得できるので活用してみてください。

《VBA上級者になりたい人へ》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

created by Rinker
技術評論社
¥3,608 (2024/12/02 20:25:22時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい