Skip to content

Excelに取り残された「負の遺産」

Internet Explorer(IE)のサポートが完全終了して早数年。世の中のWeb技術は劇的に進化しましたが、Excel VBAのUserFormには、いまだに「Microsoft Web Browser」というIEベースの化石のようなコントロールが存在しています。

化石コントロール

「いつになったらExcelにもWebView2(モダンブラウザコントロール)が来るんだろう……」と待ち焦がれていましたが、なぜかAccessには先行してWebView2コントロールが登場するという理不尽な事態に直面。

Access先行

「Excelには権限がないのか!?」という嫉妬と絶望の中、私は決意しました。

「公式が用意してくれないなら、今のExcel環境だけでWebView2を埋め込んで、自力で完全制御する仕組みを作ってやる!」

今回は、その執念の末に見つけ出した「3つのパターン」を公開します。
ページを進めるごとに真の目的達成に近づくとともに、デメリットが肥大化するというトレードオフがありますが、執筆時点ではどうしても発生してしまいます。

TIP

IEのサポートは2029年ごろで完全に終わるそうなので、きっとその時にExcelにも公式でWebView2が使える日が来ると願っています。それまで待てない、今すぐUserFormにモダンブラウザを埋めたい!という方は、ぜひ読み進めてください。

前提条件:絶対の「プリインストール環境」縛り

企業のセキュリティが厳しい昨今、外部のexeツールや有志の怪しいDLLを勝手にダウンロードして組み込むことはご法度です。そのため、今回は以下の縛りプレイで挑みました。

  • 追加ダウンロード一切禁止(完全外部依存ゼロ)
  • Windows標準機能と、Officeのプリインストール環境のみを使用

INFO

Excel自体は後入れソフトですが、業務PCにはほぼ100%プリインストールされているため「標準環境」とみなします。

3つのパターン

レベル手法概要
Lv.1Edge 埋め込みmsedge.exe を Kiosk + CDP で UserForm にドッキング
Lv.10PowerShell 経由Power Query 同梱 DLL で真の WebView2
Lv.99Excel 単体COM / vtable ハックで VBA メモリ空間から直接制御

比較の結論は 総括 へ。

Excel VBA × CDP / WebDriver BiDi