• ベストアンサー

VBスクリプトでIEの404 not foundエラーを検出する

VBScriptを使って、あるページを自動保存しようとしています。 set objIE = WScript.CreateObject("InternetExplorer.Application")でオブジェクトを作成して、無条件に1 to 10のループをまわして i & ".html"を取得しています。 そこで、objIE.Navigate(i & ".html") でページが存在する場合は保存、ページが存在しない(404 not found)場合は無視(ループを抜ける)。 としたいのですが、このエラーを拾う方法を教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

HttpRequest でページの有無を先に調べたら?   Set p = CreateObject("MSXML2.XMLHTTP")      p.open "GET", "目的のURL", False   p.send      If p.Status <> 404 Then     MsgBox "ページは存在するようだ"   Else     MsgBox "Not found."   End If 全角 SP でインデントを表現してますので、適当に変換して下さい。 ただし、ページが存在しない場合にエラー404を正しく返さない行儀の 悪いサーバがあります。 また、エラー403の場合などはどう扱うのか考えた方が良さげです。

OPQRST
質問者

お礼

成程、早速使わせていただきます。鯖は固定なんであんまその辺は考慮する必要が無いんですが、とりあえず200(OK)以外のstatusは全部はじくようにします。。

関連するQ&A

専門家に質問してみよう