最近はインターネットへの常時接続も珍しくなく、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以降のバージョンで動作します。