Excel VBA で Microsoft Edge を起動し Web ページを表示する方法

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.ApplicationWindows シェル機能を呼び出す COM オブジェクトです。
ShellExecute"microsoft-edge:" プロトコルを付与することで Edge が起動します。引数は他にもウィンドウスタイルなどを指定可能です。

応用アイデア

目的実装例
ローカル HTML を閲覧pageURL = "file:///C:/Manual/index.html" とし、オフライン資料を Edge で開く
同期処理を行いたいShell 関数と vbHideWaitUntilClose を組み合わせ、ブラウザの終了を待ってから次の処理へ進む
複数ページを連続表示URL を配列に格納し、For EachShellExecute を繰り返し呼び出す

よくある質問

質問回答
既定ブラウザを Edge 以外に変更している場合はどうなりますか。"microsoft-edge:" プロトコルを指定しているため、既定ブラウザ設定に関わらず Edge が起動します。
Edge WebView2 を使った自動操作は可能ですか。可能ですが、別途 WebView2 ランタイムと参照設定が必要です。大量の DOM 操作やスクレイピングが必要な場合に検討してください。

まとめ

Shell.Application"microsoft-edge:" プロトコルを利用すると、Excel VBA から簡潔なコードで Edge を起動できます。業務マニュアルや社内ポータルをワンクリックで表示する仕組みとして導入すれば、日々の作業効率を高められます。必要に応じて URL の取得方法や待機処理を組み合わせ、環境に最適な形へカスタマイズしてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次