【UWSC】IE起動時のCOM ERRORについて【InternetExplorer】
IE = CreateOLEObj("InternetExplorer.Application")
上記実行時に以下のようなポップアップを見たことがないだろうか?
特に起きやすいのが、初回は問題なく複数回利用すると発生する。
該当のオートメーションエラーは
IEオブジェクトはQuitしてもプロセスが残っていることがあります。このプロセスが削除される前に再度オブジェクトをCreateしようとすると、QuitしたIEを再使用しようとして使用できずエラーとなるようです。
引用元:https://teratail.com/questions/246136
上記が原因なので以下コードにて回避方法を考えた。
IE = IEStart()
IE.navigate("https://www.yahoo.co.jp/")
//--------------------------------------------------------
Function IEstart(VIS=true)
IE = 0
while 1
COM_ERR_IGN
IE = CreateOLEObj("InternetExplorer.Application")
COM_ERR_RET
if IE > 0
break
else
sleep(1)
endif
wend
IE.visible = VIS
Result = IE
Fend
whileループもCOMエラーメッセージの抑止も逐一書くのは非常に煩雑なのでFunction化した。
IEを起動する際は、
IE = IEStart()
にて
IE = IEStart(false)
falseを指定するとウィンドウを非表示にもできる。
(※COMエラーが解消されるまで待つので、ウィンドウの表示に時間がかかることもあります。)
この記事が気に入ったらサポートをしてみませんか?