即使网站存在,用于检查URL状态的VBA在某些具有404的网站上也会失败

时间:2018-02-21 11:32:09

标签: vba

我有一些我想要定期检查的网址的Excel列表,如果它们仍然存在的话。在某些情况下,尽管网站存在,但我会收到404错误(但是其中的一些图像会产生404错误。 我的代码如下:

Sub Schaltfläche1_Klicken()
    Set sh = ThisWorkbook.Sheets("Tabelle1")
    Dim column_number: column_number = 2

    sh.Range("C2:D1000").Clear

    i = 2
    'Row starts from 2
    Do Until sh.Cells(i, column_number).Value = ""
        strURL = sh.Cells(i, column_number)
        sh.Cells(i, column_number + 1) = CallHTTPRequest(strURL)
        i = i + 1
    Loop

End Sub


Function CallHTTPRequest(strURL)
    Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    objXMLHTTP.Open "GET", strURL, False
    objXMLHTTP.Send
    Status = objXMLHTTP.Status

    Set objXMLHTTP = Nothing
    CallHTTPRequest = Status
End Function

有问题的网址是http://www.ifz-berlin.de/#/rescue

我对如何解决这个问题表示赞赏。

2 个答案:

答案 0 :(得分:0)

This answer为我的解决方案提供了necsearry信息。必须拆分URL。 #和其他所有内容必须通过send()传输,如下所示:

Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.Open "GET", "http://www.ifz-berlin.de/index.html", False
objXMLHTTP.Send ("#/rescue")
Status = objXMLHTTP.Status

答案 1 :(得分:-1)

测试网站是否存在-> answer(404或其他。..) 感谢Jan&.... for上面的功能

适合测试

componentWillUnmount