• 締切済み

VBAでHTTPレスポンスコード取得

EXCEL VBAで下記の質問、URLリストからHTTPレスポンスコードを取得したいと考えております。 EXCEL VBAでたくさんのURLの一覧からHTTPレスポンスコードを取得したい。 http://okwave.jp/qa/q5474619.html のBAを使用して取得を行ってるのですが、 サーバーのレスポンスが遅い際に、一定の秒数(120秒程度?)が経って 反応がない場合は、スキップしたいのですが組み込み方がどうしてもわかりません。 ご教授いただけると幸いです。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

ん?どこが分からないのですか? あなたの実際のマクロが不明なのですが、あなたが見つけた過去ログのコードの核心部分は、要するに -------抜粋 Function GetWebStatus(URL As String) As String   Dim WinHttp As Object   Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")   WinHttp.Open "GET", URL, False   WinHttp.send   GetWebStatus = WinHttp.Status -------ここまで となっていますよね。 紹介したURLにも、全く同じ構造でサンプルコードが書いてありますよ。 -------URLより抜粋 // Instantiate a WinHttpRequest object. var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1"); // Set time-outs. If time-outs are set, they must // be set before open. WinHttpReq.SetTimeouts(30000, 30000, 30000, 30000);  ←ここが追加 // Initialize an HTTP request. WinHttpReq.Open("GET", "http://www.microsoft.com", false); // Send the HTTP request. WinHttpReq.Send(); -------ここまで 「ここが追加」のところを、あなたの実際のコードやヤリタイ事に合わせて実装するってことです。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

settimeoutsを設定してみます。 参考: http://msdn.microsoft.com/en-us/library/aa384061(v=vs.85).aspx

s985758
質問者

補足

settimeoutsっていうのがあるんですね、ありがとうございます。 参考文献がちょっと難しく・・・ 実装方法を教えていただきたいのですが・・・ よろしければお願いいたします。

関連するQ&A

専門家に質問してみよう