Excel VBA で既定ブラウザを起動し Web ページを表示する方法

目次

はじめに

Excel VBA から標準ブラウザを自動で起動し、特定の Web ページを開く手順を解説いたします。本記事では例として https://morinokabu.com/ を使用し、業務効率化や社内ポータルの即時表示に役立つコードと活用ポイントをご紹介いたします。


使用環境

  • OS:Windows 10/11
  • Excel:Microsoft 365、または Excel 2016 以降
  • 言語:VBA(Visual Basic for Applications)

サンプルコード

Sub LaunchDefaultBrowser()
    Dim targetURL As String        ' 表示する URL
    Dim shellObj  As Object        ' WScript.Shell オブジェクト
    
    targetURL = "https://morinokabu.com/"
    Set shellObj = CreateObject("WScript.Shell")
    
    shellObj.Run targetURL         ' 既定ブラウザでページを表示
End Sub

コード説明

項目内容
targetURL表示したい Web ページのアドレスを格納します。セルやフォームから取得すると、動的な URL 指定が可能です。
WScript.ShellWindows のシェル機能を利用するためのオブジェクトです。CreateObject で動的に生成できます。
Run メソッドURL を渡すだけで、既定ブラウザが自動的に起動しページを表示します。待機やウィンドウスタイルを制御したい場合は第 2・第 3 引数を使用します。

応用アイデア

目的実装例
ローカル HTML を表示targetURL にファイルパス(例:"C:\Guide\index.html")を指定してオフライン資料を開く
ユーザー入力と連携InputBox で入力された URL を Run に渡し、その場でブラウザ表示
同期実行shellObj.Run targetURL, 1, True とし、ブラウザを閉じるまで VBA の次処理を待機

よくある質問

質問回答
ブラウザを指定したい場合はどうしますか。shellObj.Run "msedge.exe """ & targetURL & """" のように実行ファイル名を明示してください。
ただし PC にインストールされていることが前提となります。
URL に日本語を含む場合は。EncodeURL 関数などでエンコードしたうえで代入するとエラーを防げます。

まとめ

WScript.ShellRun メソッドを用いることで、Excel VBA から既定ブラウザを瞬時に起動し Web ページを表示できます。社内マニュアルや外部サイトをワンクリックで開く仕組みとして、ぜひご活用ください。

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

この記事を書いた人

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

目次