そういえば IE 11 がなくなった後の VBA コントロールなどはどんな動きをするのか。ということで、ちょっと試してみたので共有しておきたいと思います。
今回は Excel VBA で InternetExplorerMedium を呼び出し、ブラウジングを開始するというシナリオにしてみます。
まず Excel VBA を利用するために開発リボンを表示させます。
開発リボンは Excel 初期状態では表示されていないため、 Excel のオプション画面からリボンのユーザー設定を選び右上のドロップダウンがメイン タブとなっていることを確認したうえで開発にチェックを入れましょう。
すると開発リボンが表示されるようになります。
ここから Visual Basic を押すと VBA を書いていくことができます。
InternetExplorerMedium は Microsoft Internet Contlrols という DLL 内にあるクラスなのでツール ‐ 参照設定からこれをチェックして利用できるようにする必要があります。
こんなかんじですね。
あとは VBA コードを書いていく形なのですが、以下コードをそのまま貼り付けてみましょう。
https://www.microsoft.co.jp ( https://www.microsoft.com/ja-jp )を開くためのコードです。
Sub IE_OpenUrl()
Dim IE As Object
Set IE = New InternetExplorerMedium
IE.Visible = False
Call IE.Navigate2("https://www.microsoft.co.jp")
IE.Quit
End Sub
コードを書いたら、カーソルをコード内に合わせて緑の実行ボタンもしくは F5 を押していきましょう。
IE 11 がないため Edge が起動しました。
念のためタスクマネージャーを開いてみると、 ielowutil.exe と iexplore.exe が表示されています。
このうち iexplore.exe は一瞬で消え、 msedge.exe にバトンを渡すうごきとなっているようです。
という訳で、 IE 11 がなくなっても IE 11 をベースとした仕組みは動きそうです。
が、先ほどのコード、実は表示をしない設定を行っていました。
IE.Visible = False
本来は IE のブラウザーが見えない状態で動いてほしいところなのですが、 Edge 上に普通に表示されるという動きになっています。
IE 11 の EOS 対応ではこういった点を意識していく必要がありそうですね。
音楽:Pot City