[ホーム] - [Windows 10 FAQ 一覧] - [VBA で IEを操作すると Edge が起動してしまう場合の対処]



作成日:2021/08/04
更新日:2021/08/04
対象:Windows 10

VBA で IEを操作すると Edge が起動してしまう場合の対処




【目次】


Busy' メソッドは失敗しました


Microsoft Excel のVBAで IE (Internet Explorer)をコントロールしています。
コードは次の通りです。

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
(中略)
objIE.Navigate "https://example.com/"

While (objIE.ReadyState <> 4 And objIE.ReadyState <> 3) Or objIE.Busy = True




このコード実行時に次のエラーが発生してしまいます。


実行時エラー '-2147467259 (80004005)':

'Busy' メソッドは失敗しました: 'IWebBrowser2' オブジェクト



以前は正常に動作していました。観察したところどうやらIEではなく Microsoft Edge が動作しておりこれが原因でエラーとなっているようです。

VBA で IEを操作すると Edge が起動してしまう場合の対処



対処方法


IEはサポート終了が予定されておりIEが起動される場合はMicrosoft Edge に転送(リダイレクト)される設定となっています。
それでこのMicrosoft Edge への転送機能を無効化すればエラーにならないかもしれません。

このIEのEdge へのリダイレクト機能を無効化するには以下の設定を行います。

(1)Edgeを起動します。右上のメニューより設定を選択します

(2)左フレームから「既定のブラウザー」を選択します。

(3)「Internet Explorer に Microsoft Edge でサイトを開かせる」の設定を「常に表示」あるいは「互換性のないサイトのみ(推奨)」から「なし」に変更します。

以上で VBAで InternetExplorer.Application により操作を行う場合でも Microsoft Edge には転送されず今まで通りIE が起動します。






(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがある可能性や仕様変更により内容が不正確になる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)


Copyright(c) TOOLJP.COM 1999-2022

[Windows 10 FAQ 一覧に戻る]