Programming

EXCEL VBAとGoogleで為替レートを取得してみる(2)

Programming
スポンサーリンク

いやー、エンタテインメントしたいとかタイトルで書いてますけど、今回の記事はExcelとか為替とか娯楽とかけ離れてる感がしますね。とか言いつつ前の続き(前回はこちら)を書いていきますがw
【プログラム】
では、いよいよExcel VBAでのプログラミングに入ります。
今回の実装の流れはこんな感じ。
(0. 開発環境の準備)
1. ライブラリの参照
2. 為替レート取得用のプロシージャ
3. 2.で実装したプロシージャの使用

0. 開発環境の準備 (VBA開発を有効にしている場合は不要)
Excelではデフォルトで開発環境が無効になっているため、これを使用できるように設定を変える必要があります。
とはいえ、手順(Excel 2010以降の場合)は簡単で
「ファイル」 >> 「オプション」 >> 「リボンのユーザー設定」を選択し、「開発」タブを有効にするだけです。
EnableVBA.jpg
1. ライブラリの参照
まず、Excel VBAでIEを制御するために、「Microsoft Internet Controls」と「Microsoft HTML Object Library」というライブラリを参照する必要があります。
ReferWebLibrary.jpg
これらのライブラリは、簡単にWebブラウザ(IE)の制御とHTMLの解析をするためのライブラリで、この中の関数をいくつか使用して為替レートの読み取りを行います。
2. 為替レート取得用のプロシージャ
これで、Webブラウザで為替レートの検索と取得を行う準備が完了したので、いよいよコードの実装に入ります。
まずは、開発環境(VBE:Visual Basic Editor)を起動します。
OpenVBE.jpg
続いて、関数(プロシージャ)を書くための標準モジュールを用意しましょう。
標準モジュールの作り方は、開発環境の画面左にある「標準モジュール」を右クリックし、「挿入」>>「標準モジュール」の順に選択します。
CreateNewModule.jpg
では、為替レートを取得する関数を見てみます。
以下のコードを先ほど作った標準モジュールにコピペすればOKです。

3. 2.で実装したプロシージャの使用
2. で作った関数はそのまま使うことができないので、新しい関数を作成してその中で使用します。
(いろんな場所で使いやすくするために、Function形式で記述していました)
下のサブプロシージャを、2.で用意した標準モジュール内に書き込みましょう。
こちらも、2. で作った関数の下に書き込めばOK。

後は、ためしにVBEで起動してテストします。
VBEの画面上側にある実行ボタン(緑の三角形のやつ)を押してみましょう(マクロの選択画面見たいなものが出てきたら、「GetExRate」という名前を選択します)。
DebugExchangeRate.jpg
上の写真のように、メッセージボックスで為替レートが表示されたら成功です。
【参考】
こちらのサイトを参考にさせていただきました。
Qiita 為替レートのAPI: http://qiita.com/RKC/items/5bdec1fc0e526e30adb5

コメント

タイトルとURLをコピーしました