失礼致します。
Excel VBAにて書かれたIntenet Explorerを自動制御するツールを使って自社サイトのテストを行っています。
ある程度連続の操作をさせていると
「オートメーションエラーです。システムのシャットダウンは既にスケジュールされています。」
というエラーが発生する場合があります。
発生タイミングはIEを一旦Quitした後に、新しいインスタンスをNewするとき(つまり起動時)だと思われますが原因がわかりません。
対応策としては、当エラートラップ後に
プロセス「iexplorer.exe」をkillすれば同エラーは発生しなくなります。
ですが、原因と仕組みを知りたいところです。
ご存知の方がいらっしゃいましたらご教示ください。
質問するにして足らない情報があるとは思いますが
何卒よろしくお願いいたします
Source Code(断片です)
'-- Start
Dim WithEvents obj_ie as InternetExplorer
~
Set obj_ie = New InternetExplorer
obj_ie.Navigate SOME_URL
~
'-- Quit
obj_ie.Quit
Set m_obj_ie = Nothing
■動作環境
Windows 7 64bit
Office 2007 / 2010
IE Version 10,11
■追記
Socialの方で、助言をいただきました。
そこで、下記の回避策を考えました。
本件がIEのプロセスシャットダウンのタイミングの齟齬が問題であると仮定するならば
ダミーのインスタンスを常に起こしておけば・・・と思いまして。
>ソースコード(案)
'-- IE起動プログラムの前にダミーのIEインスタンスを起動する。
Dim obj_dmy_ie as InternetExplorer
Set obj_dmy_ie = New InternetExplorer
'-- ダミーなので非可視化
obj_dmy_ie.Visible = False
'-- ブランク画面へ遷移
obj_dmy_ie.Navigate "about:blank"
↓
本処理へ
実装はしておりませんが、この策の妥当性に付きましても、ご意見を頂戴できると大変ありがたいです。
よろしくお願いします。