▽1
●
gong1971 ●500ポイント ベストアンサー |
※質問中の「regin」は「region」ですよね?修正してコードを組んでいます。
※強制終了は、元のurlとクリック後の両方で判断しました。
'# 初期設定 Dim open_url(2) Dim find_url() open_url(0) = "http://jp.msn.com/" open_url(1) = "http://weather.jp.msn.com/" open_url(2) = "http://topics.jp.msn.com/sports" For Each temp_url In open_url '# IE表示 Set IE = CreateObject( "InternetExplorer.Application" ) IE.Visible = true IE.Navigate(temp_url) '# IE待機処理 t = Timer + 10 Do Until (IE.busy = False) or (Timer > t) Loop '# 強制終了 If Instr(IE.document.body.innerHTML, "これはダメです") Then MsgBox "強制終了" WScript.quit End If '# キーワードの設定 kw = "" If Instr(temp_url, "weather") Then kw = "region" ElseIf Instr(temp_url, "sports") Then kw = "sports" End if If kw <> "" Then j = 0 ReDim find_url(IE.Document.Links.length) '# リンクのurlにキーワードが含まれるものを探す For i = 0 to IE.Document.Links.length - 1 If Instr(IE.Document.Links(i).href, kw) Then find_url(j) = i j = j + 1 End If Next '# リンクのurlにキーワードが含まれるものをランダムに開く Randomize IE.Document.Links(find_url(Int(Rnd * j))).Click '# IE待機処理 t = Timer + 10 Do Until (IE.busy = False) or (Timer > t) Loop '# 強制終了 If Instr(IE.document.body.innerHTML, "これはダメです") Then MsgBox "強制終了" WScript.quit End If End If '# IE終了 IE.Quit Set IE = nothing Next
この度はご回答頂きありがとう御座います。
正常に動作致しましたが、4回に1度くらいの頻度で下記のエラーで止まってしまいます。
(天気予報かスポーツのところで発生します)
行:21
文字:2
エラー:オブジェクトがありません。:IE.document.body
コード:800A01A8
ソース:Microsoft VBScript実行時エラー
安定して動作させたいので、このエラーが起きないように解決できるでしょうか?