第6回 VBAでIEを起動する
WEBアプリを作る目的ですが、システムトレードやブログの更新などをするようになると、
インターネット上のホームページにアクセスすることが頻繁になってきます。
たとえば、このブログですが、チャート表示してアップロードするのも
毎日やっていると、大変なので自動化しています。
こういう単純作業は、累積するとかなり大きな時間になるので、
これらの時間を、お金で換算したとすれば、非常に大きなものになります。
それこそ、投資に匹敵ぐらい・・・
このVBA講座というのは、これらの煩わしい作業を自動化して
合理化を行うという点で、投資手法の一つとして、紹介していきたいと思います。
簡単なログインバッチの作り方
まずは、VBAを使って、インターネットのホームページに自動アクセスすることから
はじめてみましょう!
ログインするための、手順を示します。
- 1)インターネットエクスプローラを起動する。
- 2)ログインIDを入力するページを表示する。
- 3)ID、パスワードを入力する
- 4)ログインボタンを押す
EXCELを開いて、
VISUAL BASICのエディターを開いてください。
何をいきなり高度なことを言うてんねん・・・・
いろんなクレームが出るかもしれません。
しかし、これぐらいはできないと、後はもっと洒落にならなくなります。
頑張ってついてきてください。
さてさて、いきなりプログラムを組んでもよいのですが、
WEBアプリの仕組みを説明する上で、もっと簡単にできる方法があります。
それは、
イミディエイトウィンドウです。
VBのメニューの中から、イミディエイトウィンドウを選んでください。
画面の下に空白のウィンドウが出たと思います。
「Immidiate」 とは 「ただちに、すぐに」という意味でして、
ここに記述することで、簡単にVBAを実行することができます。
それでは、次に進みます。
以下の記述を入れてみてください。
ただし入力は1行ずつ行い、必ず改行して各コマンドを実行してください。
CreateObjectによって、ウィンドウズを構成している窓(=COMコンポーネント)を参照して
新しい窓(=インスタンス)を作成します。
図示するとこんな感じです。
IEというのは。。。。
窓の識別するための名前です。
以降は、オブジェクト変数IEが、インターネットエクスプローラ自体だと
思ってください。
詳しくは下記のページを参照ください。
CreateObject 関数 (Visual Basic)
インターネットエクスプローラーはWebブラウザクラスという組織に属しています。
詳しくは下記のページを参照ください。
このオブジェクトには、いろいろな指示(=メソッド)を与えることができます。
最初に入力していただいた、IE.Visible=Trueは、プロパティのひとつです。
窓の状態を示しており、ここにTrueを代入することで、見えるようになります。
さてさて、白紙のウィンドウを眺めていても
何も面白くありませんので、ここにログインページを表示させましょう。
アドレス欄に何も入っていませんのでURLを指定します。
次の楽天証券のURLを指定してあげましょう。
https://www.rakuten-sec.co.jp/web/fx/rfx/login.html
イミディエイトウィンドウに、以下を入力してみてください。
- IE.Navigate "https://www.rakuten-sec.co.jp/web/fx/rfx/login.html" +改行
そして、ENTERを押せば・・・
はい
ログインウィンドウが出ました。
どうでしょうか?
ちゃんと出ましたでしょうか?
ちゃんと出ない場合は、IEオブジェクトがきちんと開放されていないのかもしれません。
なんとなくは、理解いただけましたでしょうか?
次回は、ログインバッチによるログインの方法を伝授いたします。
今回の記事がお役に立ちそうと思われた方は、ブログ人気投票に投票をお願いいたします。
参考記事