- ベストアンサー
VBAで有効なURLのみ抽出する方法
無数あるURLリストをエクセルに張り付けし、 その中から応答のあるURL(つまりリンク切れしていないURL)のみを抽出することは可能でしょうか? リンクの有効判定をすることはマクロで実現可能でしょうか? 実現可能であれば、どういった記載方法になるでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは リンク切れしている場合は、 「Internet Explorer ではこのページは表示できません」 のページが表示されるということでよろしいでしょうか? であれば、 そのエクセルに張り付けた無数のURLを一つずつループして読み取って、 Set objIE = CreateObject("InternetExplorer.Application") objIE.Document.Body.innerHTML とか使って、ソースを読み取って、 IFステートメントで、 ”「Internet Explorer ではこのページは表示できません」の文字があるなら、 リンク切れ、 そうでないなら、リンクは生きてる。” という結果を返せばいいと思います。 VBAでのIE操作は 三流君 http://www.ken3.org/cgi-bin/group/vba_ie.asp が役に立ちます。 もしかしたらもっと楽な方法があるかもしれませんが、今は思いつきません泣
その他の回答 (1)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
ここも参考になります。 他にタイマのタイムアウトでも判定できるのでは? 夜間(/時差で)落ちてる、メンテで落ちてる、事故で落ちてる、etc、、、サーバもあるとは思いますが、 『HTMLを読み込むVBA』(メロディ) http://www.excel.studio-kazu.jp/kw/20100729161514.html?t=185707 VBAで、InternetExplorer7のソース情報(HTML)を取得し、 リンク切れを発見するようなマクロって作れるのでしょうか? I Eで開いているページ内に、リンク箇所があれば、そのリンクが有効かどうかを チェックするというような機能を作りたいのです。