----------------------------------------------------
Do While objIE.Busy = True Or objIE.ReadyState <> 4
DoEvents
Sleep 100
Loop
Do Until objIE.document.ReadyState = "complete"
DoEvents
Sleep 100
Loop
----------------------------------------------------
と待ってみるとどうか?
質問者
お礼
ありがとうございます!
試してみます。
ちなみにですが、回避策として On Error ステートメントを入れて、無理やりですが今のところ応急処置ができています。
検索でたどり着いた方も見るので、お役に立てればと思い、僭越ながら下記記載します。
---------------
Hantei1 = 99 '特に数値に意味はないが、0以外の数字をあらかじめ代入
Do Until Hantei1 = 0
On Error Resume Next 'なぜか、On Error GoTo ラベル名 の形式だと高確率で失敗する
Hantei1 = InStr(objIE.Document.getElementById("MenuName2").outerHTML, "disabled")
On Error GoTo 0 'これを入れないと上の行でエラーが出たり出なかったりする。
DoEvents
Loop
---------------
※念のため、変数Hantei1はLong型で宣言。
上記コードで何度か試しましたが、今のところ動いています。
ご提示いただいたコードも試してみます。
お礼
ありがとうございます! 試してみます。 ちなみにですが、回避策として On Error ステートメントを入れて、無理やりですが今のところ応急処置ができています。 検索でたどり着いた方も見るので、お役に立てればと思い、僭越ながら下記記載します。 --------------- Hantei1 = 99 '特に数値に意味はないが、0以外の数字をあらかじめ代入 Do Until Hantei1 = 0 On Error Resume Next 'なぜか、On Error GoTo ラベル名 の形式だと高確率で失敗する Hantei1 = InStr(objIE.Document.getElementById("MenuName2").outerHTML, "disabled") On Error GoTo 0 'これを入れないと上の行でエラーが出たり出なかったりする。 DoEvents Loop --------------- ※念のため、変数Hantei1はLong型で宣言。 上記コードで何度か試しましたが、今のところ動いています。 ご提示いただいたコードも試してみます。
補足
返信遅くなってすみません。 実際に試してみましたが、なぜか該当メニューがアクティブになる前にループを抜けてしまい、次の処理に移ってしまいました。 ただ、私が下記のお礼コメントに記載したOn Error処理で何とか動いているので、現状はこのまま利用しようと思います。 ありがとうございました。