HOME > 即効テクニック集 > Excel VBA > その他関連のテクニック > インターネットのページを表示する
その他関連のテクニック

インターネットのページを表示する

(Excel 97/2000/2002/2003/2007)

最近はインターネットへの常時接続も珍しくなく、Excelのマクロからインターネットのページにアクセスするような使い方も増えてきました。ここでは、マクロを使ってインターネットのページを表示する方法をご紹介します。

最も簡単な方法は、インターネットエクスプローラに表示したいURLを指定して起動します。次のマクロは、インターネットエクスプローラを起動してhttp://www.moug.net/を開きます。
Sub Sample1()
    Shell "EXPLORER.EXE http://www.moug.net/"
End Sub
インターネットエクスプローラのインスタンスを作成すれば、表示されているページの情報を取得することも可能です。次のマクロは、インターネットエクスプローラでhttp://www.moug.net/を開き、表示されているページのテキストをC:\Data.txtに保存します。
Sub Sample2()
    Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Navigate "http://www.moug.net/"
        .Visible = True
        Do While .Busy = True
            DoEvents
        Loop
        Do While .Document.ReadyState <> "complete"
            DoEvents
        Loop
        Open "C:\Data.txt" For Output As #1
            Print #1, .Document.Body.InnerText
        Close #1
        .Quit
    End With
    Set IE = Nothing
End Sub
インターネットエクスプローラを使っていないユーザーは、htmファイルを拡張子関連づけで開くことで、いつも使っているブラウザを起動することができます。 拡張子関連づけでファイルを開くには、Windows Scripting Hostを使うと便利です。 次のマクロは、http://www.moug.net/を拡張子関連づけで開きます。
Sub Sample3()
    With CreateObject("Wscript.Shell")
        .Run "http://www.moug.net/"
    End With
End Sub
ここまで、インターネットエクスプローラなどExcel以外のブラウザを起動してページを表示してきましたが、実はExcelにもインターネットにアクセスして、任意のページを表示する機能があります。本来の目的とは違いますが、次のようにすると[新しいWebクエリ]ダイアログボックスに指定したページを表示することができます。 [新しいWebクエリ]ダイアログボックス上でも、リンクをたどって他のページを開くことができますので、ページを閲覧するだけなら、これで十分かもしれませんね。
Sub Sample4()
    Application.Dialogs(xlDialogNewWebQuery).Show "http://www.moug.net/"
End Sub
●補足● Sample4はExcel 2002以降のバージョンで動作します。