Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Проверка гиперссылки на ошибку 404 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проверка гиперссылки на ошибку 404 (Макросы/Sub)
Проверка гиперссылки на ошибку 404
StoTisteg Дата: Воскресенье, 29.04.2018, 10:04 | Сообщение № 1
Группа: Авторы
Ранг: Ветеран
Сообщений: 920
Репутация: 78 ±
Замечаний: 0% ±

Excel 2010
Уважаемы коллеги! Кто знает, существует ли какой-нибудь способ проверить, не вернёт ли гиперссылка ошибку 404 без использования FollowHyperlink? Гиперссылок потенциально может быть довольно много, скорость не особо важна.


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеУважаемы коллеги! Кто знает, существует ли какой-нибудь способ проверить, не вернёт ли гиперссылка ошибку 404 без использования FollowHyperlink? Гиперссылок потенциально может быть довольно много, скорость не особо важна.

Автор - StoTisteg
Дата добавления - 29.04.2018 в 10:04
anvg Дата: Воскресенье, 29.04.2018, 13:09 | Сообщение № 2
Группа: Друзья
Ранг: Обитатель
Сообщений: 399
Репутация: 213 ±
Замечаний: 0% ±

2010, 2016
Доброе время суток
У объекта Worksheet есть коллекция Hyperlinks, у каждого члена коллекции есть свойство Address.
Проверяете, что начало или http:// или https:// , если без полного определения, то положим все ссылки ведут в Web <_<
И такой функцией проверяете, что вернёт
[vba]
Код
Public Function testUrl(ByVal thisUrl As String) As Long
    Dim pHttp As Object
    Set pHttp = CreateObject("Msxml2.XMLHTTP")
    pHttp.Open "GET", thisUrl
    pHttp.send
    Do Until pHttp.readyState = 4
        'можно вписать проверку на выход за временные рамки
        DoEvents
    Loop
    testUrl = pHttp.Status
End Function
[/vba]
Для примера
[vba]
Код
Public Sub test()
    Debug.Print testUrl("http://www.excelworld.ru/forum/10-38166-100")
    Debug.Print testUrl("http://www.excelworld.ru/forum/10-38166-1")
End Sub
[/vba]
Успехов.


Сообщение отредактировал anvg - Воскресенье, 29.04.2018, 13:09
 
Ответить
СообщениеДоброе время суток
У объекта Worksheet есть коллекция Hyperlinks, у каждого члена коллекции есть свойство Address.
Проверяете, что начало или http:// или https:// , если без полного определения, то положим все ссылки ведут в Web <_<
И такой функцией проверяете, что вернёт
[vba]
Код
Public Function testUrl(ByVal thisUrl As String) As Long
    Dim pHttp As Object
    Set pHttp = CreateObject("Msxml2.XMLHTTP")
    pHttp.Open "GET", thisUrl
    pHttp.send
    Do Until pHttp.readyState = 4
        'можно вписать проверку на выход за временные рамки
        DoEvents
    Loop
    testUrl = pHttp.Status
End Function
[/vba]
Для примера
[vba]
Код
Public Sub test()
    Debug.Print testUrl("http://www.excelworld.ru/forum/10-38166-100")
    Debug.Print testUrl("http://www.excelworld.ru/forum/10-38166-1")
End Sub
[/vba]
Успехов.

Автор - anvg
Дата добавления - 29.04.2018 в 13:09
StoTisteg Дата: Среда, 02.05.2018, 20:18 | Сообщение № 3
Группа: Авторы
Ранг: Ветеран
Сообщений: 920
Репутация: 78 ±
Замечаний: 0% ±

Excel 2010
anvg, спасибо, попробую hands
Проверяете, что начало или http:// или https://
Ну это ясень пень :)


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
Сообщениеanvg, спасибо, попробую hands
Проверяете, что начало или http:// или https://
Ну это ясень пень :)

Автор - StoTisteg
Дата добавления - 02.05.2018 в 20:18
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Проверка гиперссылки на ошибку 404 (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!