В Excel у меня есть список с URL-адресами. Мне нужно проверить, может ли IE (браузер по умолчанию) открыть их. Им не нужно открывать на самом деле, это проверить доступность. Если они не могут открыться, мне нужно изолировать код ошибки и поместить его в другой столбец.Excel VBA: получите код ошибки для недопустимого URL-адреса в гиперссылке с помощью WinHttpRequest
После поиска здесь я начал со следующих гиперссылок и использовал GET для получения данных в MsgBox
. Это, похоже, работает частично, но, конечно, теперь я получаю MsgBox
с каждым URL-адресом также без ошибок. Также я ищу способ извлечь ошибку и поместить ее в активный лист.
То, что я получил до сих пор:
Sub Request_Data()
' declare
numRow = 2
Dim MyRequest As Object
' activate URLs without Follow
Do While ActiveSheet.Range("C" & numRow).Hyperlinks.Count > 0
numRow = numRow + 1
' create request
Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
MyRequest.Open "GET", _
ActiveSheet.Range("C" & numRow)
' send request
MyRequest.Send
' outcome
MsgBox MyRequest.ResponseText
' isolate the error code (for example 404)
' place error code in excel sheet in column H next to row URL
Loop
End Sub
ли кто-нибудь знает, как я должен поступить? Я думал, что это может быть полезно, но я не знаю, с чего начать. Checking for broken hyperlinks in Excel и Bulk Url checker macro excel
Заранее спасибо
Привет, Робин, спасибо за ваш ответ. Возможно ли, что я не смог запустить ваш пример, прежде чем адаптировать его? Когда я пытаюсь запустить его, я не получаю никакого результата. – Bounce
Я, кстати, работаю в Excel 2016 (64 бит). После его адаптации и предоставления моего диапазона вместо ваших примеров, я столкнулся с Runtime-error 1004 (Определенная приложением или объектная ошибка). – Bounce
Он пробежал для меня только в модуле без другого кода. Excel 2013 32 бит –