Windows 10 以降では Internet Explorer が非推奨となり、標準ブラウザは Microsoft Edge へ移行しました。本記事では Excel VBA から Edge を呼び出し、指定したページを開く手順をご説明いたします。例として https://morinokabu.com/ を使用しますが、URL を差し替えれば他サイトにもそのまま応用できます。
目次
動作環境
- OS:Windows 10/11
- Excel:Microsoft 365、または Excel 2016 以降
- 言語:VBA(Visual Basic for Applications)
サンプルコード
Sub OpenEdgeBrowser()
Dim pageURL As String ' 表示する URL
Dim shellApp As Object ' Shell.Application オブジェクト
pageURL = "https://morinokabu.com/"
Set shellApp = CreateObject("Shell.Application")
' Edge を起動してページを表示
shellApp.ShellExecute "microsoft-edge:" & pageURL
End Sub
コードのポイント
項目 | 説明 |
---|---|
pageURL | 任意の URL を格納します。セルやフォームから読み取れば動的に変更できます。 |
Shell.Application | Windows シェル機能を呼び出す COM オブジェクトです。 |
ShellExecute | "microsoft-edge:" プロトコルを付与することで Edge が起動します。引数は他にもウィンドウスタイルなどを指定可能です。 |
応用アイデア
目的 | 実装例 |
---|---|
ローカル HTML を閲覧 | pageURL = "file:///C:/Manual/index.html" とし、オフライン資料を Edge で開く |
同期処理を行いたい | Shell 関数と vbHide 、WaitUntilClose を組み合わせ、ブラウザの終了を待ってから次の処理へ進む |
複数ページを連続表示 | URL を配列に格納し、For Each で ShellExecute を繰り返し呼び出す |
よくある質問
質問 | 回答 |
---|---|
既定ブラウザを Edge 以外に変更している場合はどうなりますか。 | "microsoft-edge:" プロトコルを指定しているため、既定ブラウザ設定に関わらず Edge が起動します。 |
Edge WebView2 を使った自動操作は可能ですか。 | 可能ですが、別途 WebView2 ランタイムと参照設定が必要です。大量の DOM 操作やスクレイピングが必要な場合に検討してください。 |
まとめ
Shell.Application
と "microsoft-edge:"
プロトコルを利用すると、Excel VBA から簡潔なコードで Edge を起動できます。業務マニュアルや社内ポータルをワンクリックで表示する仕組みとして導入すれば、日々の作業効率を高められます。必要に応じて URL の取得方法や待機処理を組み合わせ、環境に最適な形へカスタマイズしてください。