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

Вход

Регистрация

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

 

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

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

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


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

Автор - StoTisteg
Дата добавления - 29.04.2018 в 10:04
anvg Дата: Воскресенье, 29.04.2018, 13:09 | Сообщение № 2
Группа: Друзья
Ранг: Обитатель
Сообщений: 402
Репутация: 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
Группа: Авторы
Ранг: Старожил
Сообщений: 1017
Репутация: 86 ±
Замечаний: 0% ±

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


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
Сообщение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 обязательна!