目次
はじめに
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.Shell | Windows のシェル機能を利用するためのオブジェクトです。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.Shell
の Run
メソッドを用いることで、Excel VBA から既定ブラウザを瞬時に起動し Web ページを表示できます。社内マニュアルや外部サイトをワンクリックで開く仕組みとして、ぜひご活用ください。