VBA-JSONをWordに導入
これまで、CATOVIS LSからWord VBAへのレスポンスは、VBAでも簡単に読めるよう、
[&] や [;] といった特殊な記号で文字列の区切りを作っていました。
しかし、情報量が膨らむにつれてだんだんと無理が生じてきていました。
JSON文字列を使えれば楽なのですが、VBAでは読み込めないし……と思っていたところで、見つけました!
VBAのJSONパーサー、その名も「VBA-JSON」です。
Githubからダウンロードして、Readmeにあるとおりインポートしたところ……
「Newキーワードの使用法が不正です」と、エラーが出ました。

”Dictionary”がおかしいとのことですが、Readmeの指示どおり
参照設定で”Microsoft Scripting Runtime”のチェックを入れているのですが……
そこでDictionaryの使い方を復習しようとしたところ、

Dictionaryが二つ提示されているのに気が付きました。
オブジェクトライブラリを見ていくと、WordにもDictionaryオブジェクトがある模様。
(カスタム辞書というもの)
Word VBAで動かしていたので、WordのDictionaryが優先されて呼び出されていたのですね。
そこで、”Microsoft Scripting Runtime”のほうのDictionaryが呼び出されるよう、ソースの一部を修正します。
Private Function json_ParseObject(json_String As String, ByRef json_Index As Long) As Scripting.Dictionary
Dim json_Key As String
Dim json_NextChar As String
Set json_ParseObject = New Scripting.Dictionary
上記のように”Dictionary”を”Scripting.Dictionary”に変更します。
これで無事、エラーなくパースすることができました。
これから少しずつ、CATOVIS LSのレスポンスを書き換えていこうと思います。

MS Office Wordと接続。軽量型でWYSIWYGを実現