目次1はじめに2VBAからのJScriptの活用3VBAからの利用方法サンプル.14VBAからの利用方法サンプル.2目次を開くJSONデータの解析(プロパティの利用)まず、解析部分をVBAのユーザ定義関数にします。以前のWikipediaの処理を書き換えたものなので、詳細はそちらも参照してください。Nothing(1)のeval関数はjsonデータを解析します。文字列resTextにeval関数を施し、解析したデータをobjJson変数に格納します。(2)では、解析済みjsonデータobjJsonは配列になっているはずなので、そのサイズを取り出します。lengthはVBAの予約語であるため、CallByName関数を用います。(3)では、データ件数だけ繰り返し、JSONオブジェクトから値を取り出します。(4)では、objRowオブジェクトに1件分のデータを取り出します。objJson配列のidx番目の要素を、CallByName関数を用いて取り出します。(5)では、1件分のオブジェクトobjRowから、CallByName関数を用いてurl、title、body、datetimeの各項目の値を取り出し、セルに転記する処理を行っています。日付形式の変換(ユーザ定義関数の利用)もっと複雑な処理を行わせる場合は、JScriptのコードでユーザ定義関数を記述した文字列(以下のリストでは、変数cd)を、ScriptControl(変数js)に追加して呼び出します。ユーザ定義関数の呼び出し方は、先述の「関数の利用」と同様です。hh:mm:ss」形式への変換が必要です。js.CodeObject.timeConv(Range("b3"))日付文字列を引数sに受け取る関数timeConvを定義します。Date(s)と記述することにより、引数sに対応するオブジェクトが生成されます。後はdtの各メソッドを使って、年月日時分秒を取り出し、dtf変数に繋げていくだけです。出来上がった文字列dtfをreturn命令で返せば、JScriptのコードは終了です。後は、このコードを記述した文字列cdを、Addcodeメソッドでjsオブジェクトに加えて呼び出します。(完全なコードは、ここからダウンロードしてください)。まとめJScriptの機能の利用の仕方はいかがでしたか。VBAだけではなにかと表現しにくい処理も、JScriptと連携することで、シンプルに表現できることがあります。興味を持った方は、是非自分のアプリケーションでも活用してください。JScriptについてもっと詳しく知りたい人は、以下のURLを参考にしてみてください。プロジェクトについてテクニカル執筆プロジェクト(代表山田祥寛)。海外記事の翻訳から、主にWeb開発分野の書籍・雑誌/Web記事の執筆、講演等を幅広く手がける。2011年5月時点での登録メンバは35名で、現在も一緒に執筆をできる有志を募集中。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。ExcelでJScriptの機能を利用しようこのカテゴリーについてOSから、ソフトウェア、プログラミング、関連する最新技術まで、ソフトウェアに関するさまざまな情報を発信。情報提供お詫びと訂正メールマガジンご興味に合わせたメルマガを配信しております。PC/デジタル、ワーク&ライフ、エンタメ/ホビーの3種類を用意。Corporation。