У меня есть длинный список гиперссылок в Excel, и я хотел бы создать код, который проверяет выбор, ведут ли эти ссылки к странице с ошибкой или нет.
Я адаптировал код из этого поста Сортировать мертвые гиперссылки в Excel с VBA?
Тем не менее, каждый раз, когда я запускаю его, ошибка
"403 - Запрещено"
появляется независимо от того, работает ссылка или нет.
То, что я хотел бы, чтобы код, это написать в следующей ячейке приводит к странице 404 или нет.
Я предполагаю, что проблема заключается в отсутствии дополнительной строки, разрешающей Excel следовать гиперссылке, но я не могу думать о том, как решить эту проблему.
Это код, который я использую:
Sub CheckHyperlinks()
Dim oColumn As Range
Dim oCell As Range
For Each oCell In Selection
If oCell.Hyperlinks.Count > 0 Then
Dim oHyperlink As Hyperlink
Set oHyperlink = oCell.Hyperlinks(1) ' I assume only 1 hyperlink per cell
Dim strResult As String
strResult = GetResult(oHyperlink.Address)
oCell.Offset(0, 1).Value = strResult
End If
Next oCell
End Sub
Private Function GetResult(ByVal strUrl As String) As String
On Error GoTo ErrorHandler
Dim oHttp As New MSXML2.XMLHTTP60
oHttp.Open "HEAD", strUrl, False
oHttp.send
GetResult = oHttp.Status & " " & oHttp.statusText
Exit Function
ErrorHandler:
GetResult = "Error: " & Err.Description
End Function