システムのシャットダウンは既にスケジュールされています

「システムエラーです: &H800704A6(-2147023706) システムのシャットダウンは既にスケジュールされています」

というエラーメッセージが出ました。

作成したVBAは、IEで2つのページをスクレイピングするマクロでした。

1つ目のページを読み込み終わった後、2つ目のページを開く前、

具体的には

Dim objIE As New InternetExplorer

もしくは、

Set objIE = CreateObject("InternetExplorer.Application")

という行で、IEオブジェクトを作成しようとしたときにエラーが出ます。


このエラーって、マクロで開くページとは別に、

IE で他のページが開かれている状態だと、発生しません。


ここからは推測になりますが、

Quit で IE を終了させても、裏で終了処理が動いており、

完全処理が終了する前に、新たに IEオブジェクトを作成しようとすると、

まだ IE を終了させている途中だからダメだよっていうエラーが出るようです。

他のページが開かれていると、IEのプロセスは終了されず、

残ったままですから、エラーが発生しません。


回避策は…、よくわかりません。15秒くらい待てば大丈夫ですけどね。

あるいは IEを完全に終了させないように、別のページを開いたままにしておくとか、

全ての作業が終わってから IEを終了させるかでしょうか?

コメント

このブログの人気の投稿

VBAでOutlookメールのフォントを変更する

映画「ウイッシュ」のエア感想

VBA 引数として渡す変数とその宣言