ライブラリ

2021年1月

fIE_Quit (IEを確実に殺す方法)

IEのゴースト現象について、
自分の経験を基に不明なデバッグを減らすIEの閉じ方を
需要ありそうなので記載しておきます。

IE起動→スクレイピング→IE閉じる
の繰返しでたまにIE起動時でNGになることがあります。
原因は
閉じた後も裏でIEのプロセスが暫く残る事がある
ということが判明(・・;)
※他の何かが原因のケースがあるかもですが、自分の経験として。

そして対応方法として
IE.Quitの前にプロセスIDを取得しておき、
Quit後にプロセスを直に殺して対応しました。

WinAPIが多くなるのが難点です(^_^;)



使う【WinAPI】はこんな感じです~

GetWindowThreadProcessId
ウィンドウハンドル(IE.hWnd)からプロセスIDを取得

IsWindow
ウィンドウが生きてるか判定 ※IEが閉じるまで念の為に待つ用

OpenProcess
プロセスIDからプロセスのハンドルを取得

TerminateProcess
プロセスを殺す

※他にもっと簡単に解決できる方法があるかもなので、あくまで1つのケースとして
-------------------<以下、VBAソース>----------------------------------------------------------

IE   2021/01/17   shono

ノック66本目

#VBA100本ノック 66本目
ブック自身のあるフォルダ以下の全サブフォルダを検索し、
自身と同一名称(拡張子含めて)のファイルを探してください。
同一名称のファイルが見つかったら、シートに出力してください。
・A列:フルパス
・B列:更新日時
・C列:ファイルサイズ
※シートは任意

100本ノック   2021/01/14   shono