昨晩まで正常に動いていたVBAのIE操作が
200件ほど(累計500件ど)処理を行ったところで
オートメーションエラーが発生し動かなくなりました。
実行時エラー ′-2147352319(80020101)':
オートメーションエラーです。
以下を試しても解決しなかったので、どなたかご教授ください。
##試したこと
参考URL)
https://teratail.com/questions/25931
・Sleepを8000に変更
→同じエラーメッセージ
・キャッシュのクリア+Sleep変更なし
→同じエラーメッセージ
・キャッシュのクリア +Sleep8000
→2つだけ動作しその後、同じエラーメッセージ
・Set objIE = CreateObject("InternetExplorer.Application")を
Set ie = New InternetExplorerMedium に変更
→実行時エラー ′91
オブジェクト変数またはWithブロック変数が設定されていません。
Excelは2016
保護モードはオンです。(特に設定は触っていません)
大量アクセスエラーによるものではありません。(エラー後IEからYahoo検索を行い正常に検索できることを確認済)
Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub main() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.Application") Dim i As Long Dim l As Integer For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row Sleep 8000 objIE.navigate "https://search.yahoo.co.jp/search?p=" & Replace(Application.EncodeURL(Range("A" & i)), "%20", "+") Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE DoEvents Loop For l = 0 To 2 Sleep 8000 Range("B" & i).Offset(, l) = objIE.document.getElementById("WS2m").getElementsByClassName("w")(l).getElementsByTagName("a")(0).href Next l Next i objIE.Quit Set objIE = Nothing End Sub
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。