先日 Internet Explorer 11 の EOS に関するウェビナーを受講したのですが、その中で VBA の動作について確認をしたところ、なんと 2021 年 11 月の更新で動作に変更が加わったことが分かりました。
以下のコミュニティ Blog に追記されていたのですが、オプションアップデートにより Internet Explorer 11 の COM Automation の動作が変更になり、 VBA や VBS で Internet Explorer 11 の操作があっても動くように改善されたようです。
実際に Windows 11 の初期リリースと Insider Preview の動作を比べてみました。
簡単に確認したかったので、 VBS ファイルを作成し、以下のコードを動かしました。
( Navigate アドレスはいろいろ入れ替えて動かしてみています。)
test.vbs
Dim objIE
'IE(InternetExplorer)のオブジェクトを作成する
Set objIE = CreateObject("InternetExplorer.Application")
'IE(InternetExplorer)を表示する
objIE.Visible = True
'指定したURLのページを表示する
objIE.Navigate "http://www.microsoft.com/"
まず Windows 11 の初期リリース版での動作です。
Windows 11 には Internet Explorer 11 は搭載されていないため、当然のように新しい Edge が起動しました。内部的には Internet Explorer が受けて新しい Edge にリダイレクトするという流れですね。
次にこの更新が適用されているであろう Insider Preview Build 22543 での動作です。
分かりやすくするため、アドレスは以下に変更しています。
https://www.office.com/?auth=2
すると、見慣れた Internet Explorer 11 の UI が表示されているではありませんが。
タスクバーのアイコンも IE のマークです。 Office 365 のポータルなので、使えなくなる旨の案内も表示されていますね。
ちなみに以下のアドレスにアクセスしたところ、 Internet Explorer 11 は起動するものの新しい Edge にリダイレクトされてしまいました。
これは IE To Edge のヘルパーが動作したからかと思います。
残念ながらこのヘルパーは無効にできないようになっていますね。
ヘルプを見るとこんな感じです。
Windows 11 なのに IE のアイコンが、、、
実は Windows 11 では Internet Explorer 11 は入っていないことになっています。
設定アプリの アプリ - オプション機能で見ても Internet Explorer モードという項目があるのみです。
試しにこれを消してみたところ、スクリプトはエラーをはくようになりました。
というわけで、便宜上は Internet Explorer 11 ではなく Internet Explorer モードで動作しているということになるようですね。
この機能ですが Windows 10 では Future Update に組み込む方向で検討されているようなので、もしかすると一時的には動作しないマシンが生まれるのかもしれません。
Internet Explorer 11 の EOS ではオートメーションをどうしようか悩んでいた人が多いはずなので、この方向性はうれしい変更に感じます。
ぜひ Windows 10 でも動作するように変更を加えてほしいところですね!
音楽:Car 24