| 
    
     |  | 参考までに、コードの一例を末尾に示します。下敷きにして下さい。 
 ◇--------------
 >「ページが見つかりません」,「404 Not Found」などを含んでいれば、
 > その文字を返すようなコードは可能でしょうか?
 これはあなたがトライすべきです。
 警告文は定型ではないので、自動的な判断は難しいでしょう。
 
 ◇--------------
 > リンク切れしていた企業URLの正しいURLが存在するならば、
 > D列にURLを書き出す。
 
 Redirectされていれば、status code 3xxを返すので、それで判断可能。
 例外だろうから、移転先は個別に追っていった方が早いかも。
 (Locationヘッダで移転先を返してくるが、XMLHt tpは対応していない。
 普通にブラウザで開けば、自動で転送先に行くからそれで判る。)
 
 しかし、単に200を示すだけのサイトなら、手の打ちようがない。
 正しいURLを自動で探すといっても無理でしょう。
 そのページのリンクを追っていく方法もあるかもしれないが、
 普通のサイトは、いくらでもそのなかにリンクがあるから、
 移転先リンクなどというものを判断するのは困難と見るのが普通。
 (そういうときは普通、Redirectを使ったページにするでしょう。)
 
 ◇--------------
 コード例です。
 
 Sub test()
 Dim HReq
 Dim myStatus As Long
 Dim uri As String
 Dim k As Long
 
 Set HReq = CreateObject("Microsoft.XMLHT TP")
 ' 半角スペースを取って下さい
 
 For k = 2 To Range("A2").End(xlDown).Row
 Debug.Print k
 uri = Cells(k, 1).Value
 HReq.Open "GET", uri, False
 On Error Resume Next
 HReq.send
 On Error GoTo 0
 Cells(k, 2).Value = HReq.Status
 Cells(k, 3).Value = HReq.statusText
 If HReq.Status = 200 Then
 Cells(k, 4).Value = Left(HReq.responseText, 500)
 Cells(k, 5).Value _
 = Left(StrConv(HReq.responseBody, vbUnicode), 500)
 End If
 Next
 Set HReq = Nothing
 End Sub
 
 正規表現かなにかで特定の文字列をマッチさせても良いけれど、
 定型文字列に限らないから、
 シートに書き出して目で確認するのも一法だろう。(字数は調整してください)
 UTF-8のサイトは4列目で読める。
 S-JISのサイトは5列目で読める。
 (EUC-JPはいずれもダメだがご愛敬。AODDB.Streamなどで変換すればよいかも。)
 ---------------------------
 なお、
 指摘があったが、確かに、こんなことにトライする超初心者はあり得ない。
 だからコードに関する質問に答えるつもりはありません。
 回答がつかないのは、超初心者と名乗る意図があざとすぎて、敬遠されているのだろう。
 どこまでできているのか、自分の手の内を示して、堂々と質問すべきでしょう。
 (このような質問文を寄せる超初心者はいないが、万一、真の超初心者なら、
 もっと適切なテーマに取り組むべきでしょう。)
 
 
 |  |