- Excel VBA 質問スレ Part59
646 :デフォルトの名無しさん (ワッチョイ ff2c-hSmr)[sage]:2019/03/05(火) 21:11:49.71 ID:WmyrgrGT0 - 会社で異動になった人が作ったマクロの稀に出るバグを直そうと頑張っています。
ちょっと怪しいかなと思ったプロシージャがあるので見にくく長いと思うのですが見て頂けませんか? 勉強しながらの初心者です。 Sub wait(IE As InternetExplorer) Const リトライ = 2 Dim IEDOC As HTMLDocument Dim ReCount As Long,i As Long Do «略» Set IEDOC = IE.Document «略» Loop While IEDOC Is Nothing If IEDOC.frames.Length < リトライ Then ReCount = リトライ Else ReCount = IEDOC.frames.Length End If For i = 0 To ReCount Do While IE.Busy Or IE.readyState <> READYSTATE_COMPLETE DoEvents Loop Next End Sub このあとすぐに書き込みに参ります
|
- Excel VBA 質問スレ Part59
647 :デフォルトの名無しさん (ワッチョイ ff2c-hSmr)[sage]:2019/03/05(火) 21:26:50.63 ID:WmyrgrGT0 - オレンジの部分がIE.Busy = Trueという風に教科書通りになっていないのですがこれで大丈夫なのでしょうか
上手いことちゃんとなっているか調べようとやってみましたが私には難しかったです そして水色の部分なのですが、フレーム数を取得してその数だけ念の為回しておくという感じでしょうか フレームがいくつかあると取得のたびにIE.BusyがTrue,Falseに切り替わると聞いたのでそのためで合っていますか それよりもさっき調べて出てきた '完全にドキュメントが読み込まれるまで待機する Do Until IE.document.ReadyState = "complete" DoEvents Loop ではダメなのでしょうか、別物でしょうか ざっとみておかしい部分はありますか? 図々しくすみません https://i.imgur.com/DQxGNB5.jpg
|
- Excel VBA 質問スレ Part59
648 :デフォルトの名無しさん (ワッチョイ ff2c-hSmr)[sage]:2019/03/05(火) 21:32:38.87 ID:WmyrgrGT0 - どういうマクロかと言うと、IEを開いてリンクボタンをいくつか押して文字を引っ張ってきてIEを閉じるというのを何度か繰り返すものです。
リンク先を正しく閉じられていないまま次の回転に入っていることが稀にあるのです
|