|
>すでに解決済みかもしれませんが、一応、IEを直接制御する方法で書き直してみました。
>回線が混んでいるせいか、さきほど、取得完了まで20分かかりましたが、問題なく取得することができました。
!!!!!
驚きです。ここまで親切にしてもらえるとは!
(もちろん、まだ解決していませんでした。)
もしかして、かみちゃんは神ちゃん...そうか神様だったんですね。
ということで、神のお告げにしたがい早速実行。
しばしまつこと...おおっ、今まで一度も超えていない3000台に突入。「これは行ける」。5分後...実行時エラー!なな何が?
開かれたIE画面を見ると中途半端な表示のまま完了状態。「IE、今度はお前か!!!」。読み出そうとするデータが無くてエラーになったようです。まぁ、こんなこともたまにはあります。Excel君が死んだわけではないので、対処方法もあります。でも、とりあえず、再トライですんなり行くはず。という訳で再トライ。5分後...「さっきから進捗が無いような...」...10分後、「やはり進んでない」。IE画面を確認すると、今度は完了状態にならずに、アクセス状態のまま。「くっ、やはりネット環境が悪いとダメなのか!」、とりあえずIEを閉じると、実行時エラー。「そうか、あたりまえだけどExcel君は生きているんだ!それならタイムアウト処理を追加して更新しなおせば良いんだ!」。とりあえず、更新処理方法を調べるのは後にして、手っ取り早くIE閉じて再起動させる処理を追加。
TIME_OUT: '追加
With objIE
'.Visible = True
'文字列で指定したURLに飛ぶ
.Navigate MyURL
'表示終了まで待つ(タイムアウト処理追加)
TimeOutTime = Now() '追加
TimeOutTime = TimeOutTime + "00:01:00" '追加
Do While .Busy Or .ReadyState <> 4
DoEvents
'追加↓↓↓↓↓↓
If TimeOutTime < Now() Then
objIE.Qui
Set objIE = Nothing
MsgBox "タイムアウトが発生しました!" '確認用
Set objIE = CreateObject("InternetExplorer.application")
GoTo TIME_OUT
End If
'ここまで↑↑↑↑
Loop
これにて再々トライ。5分後、タイムアウト表示でOKをクリック、「行けそうだ」。その後3回のタイムアウトが表示されるも、無事終了表示(約48分)。「やったぜ父ちゃん」思わず星飛雄馬のように叫んでしまいました。
そんな訳で奮闘日記のようになってしまいましたが、等問題はコンプリートです。
かみちゃんさん本当にありがとうございます。
感謝感激です(p^^)p♪♪♪q(^^q) m(_ _)m
|
|