VBAからのWebブラウザ起動

エクセルのVBAマクロから、Internet Explorer(IE)を起動し、制御してみます。これによってユーザーの操作に応じてVBAで特定のWebサイトを表示したり、さらにWebサイトにメッセージを送ってボタンクリックなど特定の操作を行うことも可能になります。マクロからIEの「自動操作」が可能になれば、最新情報の表示や各種案内などアプリケーションの利便性も向上させられるかもしれません。
今回は、まずVBAからInternet Explorerを起動してみることにしましょう。

Sub test()

    Dim ie As Object

    Set ie = CreateObject("InternetExplorer.Application")

    ie.Visible = True

    ie.Navigate "http://lcl.web5.jp/prog/excel_vba/"

End Sub

このマクロコードをシートに追加したら、メニューから実行してみてください。これだけでブラウザが起動し、Navigateで指定したサイトを表示できます。
今回のコードは、

Set ie = CreateObject("InternetExplorer.Application")

で作成したIEオブジェクト(ActiveXオブジェクト)を対象に、メソッドやプロパティの参照を行う例です。とりあえずVisibleプロパティをTrueにして画面に表示されるようにし、さらにNavigateメソッドで指定URLを表示するようにしてみましたが、MSDNのリファレンスを見ると他にも多数のメソッドやプロパティが公開されていて色々「面白い」こともできそうですね。


エクセルVBA練習帳