Skip to content

UserFormへのモダンブラウザ埋め込み:3つの手法の総括

本セクションでは、Excel VBAのUserFormにモダンなブラウザ(WebView2/Edge)を配置する3つのアプローチを紹介しました。
最後に、それぞれの特性を比較し、実務でどの方針を採用すべきかの指針をまとめます。

比較表

項目Lv.1 Edge 埋め込みLv.10 PowerShell 経由Lv.99 Excel 単体
実務での堅牢性△ (フォーカスに難あり)◎ (非常に安定)〇 (高度だが繊細)
追加インストール不要不要 (標準DLL流用)不要 (標準DLL流用)
配布の容易さ◎ (xlsmファイルのみ)〇 (ps1同梱または動的生成)◎ (xlsmファイルのみ)
フォーカス制御△ (泥臭い工夫が必要)◎ (ネイティブ同等)◎ (ネイティブ同等)
見た目〇 (Edgeそのまま)◎ (真のWebView2)◎ (真のWebView2)
実装複雑度低 (Win32 API)中 (PowerShell & 名前付きパイプ)極高 (COM/vtableハック)

ユースケース別 推奨ガイド

とにかく「手軽に・すぐに」実現したい場合 → Lv.1 Edge 埋め込み

複雑な外部通信はせず、単に「UserFormの中にブラウザを表示したい」だけなら、EdgeのKioskモードを利用するのが最も近道です。
このツールでは既に、Demoコードとして実装されているので、コードをコピペしてすぐに試せます。

「WebView2 Runtimeを配布先にインストールできない」「IT部門の審査が通らない」「Excelファイル1つで完結させたい」——そんな 企業内利用シナリオ にも最適です。

Edge 埋め込みの詳細

実務ツールとして「安定性」を最優先する場合 → Lv.10 PowerShell 経由

最も推奨される方式です。PowerShellが面倒なCOM制御を肩代わりしてくれるため、VBA側のコードが肥大化せず、WebView2の機能を最も安定して利用できます。

現在のWindowsにはほぼ、WebView2環境があるので、WebView2の機能も活かしつつ、安定した動作を求めるならこの方式がベストバランスです。

PowerShell 経由の詳細

外部依存をゼロにし「究極のロマン」を求める場合 → Lv.99 Excel 単体

「PowerShellすら叩かせてもらえない」厳しい制限環境、あるいはVBAの限界に挑戦したいプロフェッショナル向けです。

Excel 単体の詳細

おわりに

以前は「VBAにはIE(WebBrowserコントロール)しかない」と絶望視されていました。
しかし、現在ではこれらの手法により、VBAでも最新のWeb技術(React, Vue, SPA, etc.)を駆使したリッチなUIを構築することが可能です。

プロジェクトの要件や環境に合わせて最適な手法を選び、Excel VBAの枠を超えた体験を是非作り上げてください!

Happy Coding with Modern Web in VBA!

関連

Excel VBA × CDP / WebDriver BiDi