この関数について
「.html」ファイルは、インターネット上のWebサイトで使われるテキストの形式(もしくは拡張子)という認識が一般にあると思いますが、ブラウザで閲覧することが可能なテキスト形式であると考えると、例えば、組織内の共有フォルダへHTMLファイルを配置し、ブラウザにお気に入り登録してもらうと簡易的なポータルサイトのようなものとして運用することもできます。会社への申請が不要なものですべて作ってしまうExcel職人ならではの発想ですが、私の経験上、これは結構ウケが良いです。コンテンツを用意してHTMLファイルとして公開してもコンテンツの更新を手動で行うのは大変です。やはり、ExcelVBA(マクロ)を使用してコンテンツの自動更新がしたいと思い、この関数が生まれました。いずれ紹介するFTP系関数と合わせるとWebサイトの更新にも使えます。関数リファレンスの根幹を成す関数でもあります。
使い方 ①引数
■引数1:json_keys_table_1Dim
1次元配列にJSONのKeyとなる文字列を格納しておきます。そもそもJSONのKeyとはなんだという話はここでは解説しません。例)[“ID”,”NAME”,”AGE”]
■引数2:json_data_table_2Dim
2次元配列にJSONのデータ部分を格納します。
例)[”001”,”山田”,”30″][”002”,”鈴木”,”36″][”003”,”田中”,”28″]
使い方 ②返値
この関数はJSON形式の文字列を返します。これをそのままサーバーにアップロードすることでWebページの更新を自動化できます。関数リファレンスはこの仕組みで作成されています。
使い方 ③呼び出し方例(サンプルコード)
Public Sub Test_ConvertArrayToJsonForHtml()
Dim aa(1 To 3) As String
Dim bb(1 To 3, 1 To 3) As String
aa(1) = "ID"
aa(2) = "NAME"
aa(3) = "AGE"
bb(1, 1) = "001"
bb(1, 2) = "山田"
bb(1, 3) = "30"
bb(2, 1) = "002"
bb(2, 2) = "鈴木"
bb(2, 3) = "36"
bb(3, 1) = "003"
bb(3, 2) = "田中"
bb(3, 3) = "28"
Debug.Print ConvertArrayToJsonForHtml(aa, bb)
End Sub
【結果】JSON形式のデータが出力されました
上記のサンプルコードを実行するとイミディエイトウインドウにJSON形式のデータが表示されます。実務でのおすすめの使い方は、ありません。冒頭で紹介した通り、私は会社の共有フォルダに簡易的なポータルサイトを作成し、そのデータ更新にこの関数を使用していますが「共有フォルダを使ったポータルサイト」・・・というのはあまりにもExcel職人的なツールで、とても人にお勧めできるものではありません。ExcelVBAでJSONデータを取り扱う場合は、おとなしく「VBA-JSON」(外部リンク)を使用しましょう。
Comment