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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос для проверки урлов на доступность - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Макрос для проверки урлов на доступность
vl-it Дата: Суббота, 23.10.2021, 21:04 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Всем привет, я новичок в теме, по этому нужна помощь по доработки скрипта до идеала )

Скачал скрипт, решил его модернизировать, но мало в этом понимаю, вообщем вбиваю ссылки в строку и есть строка на против для вывода статуса ссылки.

Статусов у меня два.
РАБОТАЕТ
НЕ РАБОТАЕТ

Скрипт сам рабочий, по клику на кнопку идет проверка урлов.

Проблема номер 1) вообщем если урл не правильно ввести и если их допустим 50 и более, запускаешь скрипт и если он находит не правильный урл, он не может проверить и прекращает работу, выводит ошибку, как можно это исправить, если ошибка, то чтобы в строке где выводим статусы, писалось (урл не корректный), ну и если урл без http, https, вставить тож будет ошибка.

Проблема номер 2) когда идет проверка урлов, в колонке статусы, у меня идет надпись Проверка..., и после проверки сразу ставиться статус, если все ок то РАБОТАЕТ, а вот если не ок, сайт не доступен, Проверка..., не сменяется на статус НЕ РАБОТАЕТ, пока не понял в чем проблема. На скрине видно предпоследний сайт, на него только под прокси зайти можно, значит статус его не доступен, но там зависло слово Проверка..., а должно было присвоится НЕ РАБОТАЕТ.

Скрипт

[vba]
Код
Sub Кнопка1_Щелчок()
    
    Dim cell As Range
    Dim winHttpReq As Object
    Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
    
    On Error GoTo l_error
        
    For Each cell In Range("Таблица1").Columns(1).Cells
        If cell.Value <> "" Then
      
        cell.Offset(0, 1).Value = "Проверка..."
        Call winHttpReq.Open("GET", cell.Value, False)
        
        Call winHttpReq.Send
        If winHttpReq.Status = 200 Then
            cell.Offset(0, 1).Value = "РАБОТАЕТ"
        Else
            cell.Offset(0, 1).Value = "НЕ РАБОТАЕТ"
        End If
        End If
        
l_error:

    Next cell
End Sub
[/vba]

Скрин


Сообщение отредактировал vl-it - Суббота, 23.10.2021, 21:06
 
Ответить
СообщениеВсем привет, я новичок в теме, по этому нужна помощь по доработки скрипта до идеала )

Скачал скрипт, решил его модернизировать, но мало в этом понимаю, вообщем вбиваю ссылки в строку и есть строка на против для вывода статуса ссылки.

Статусов у меня два.
РАБОТАЕТ
НЕ РАБОТАЕТ

Скрипт сам рабочий, по клику на кнопку идет проверка урлов.

Проблема номер 1) вообщем если урл не правильно ввести и если их допустим 50 и более, запускаешь скрипт и если он находит не правильный урл, он не может проверить и прекращает работу, выводит ошибку, как можно это исправить, если ошибка, то чтобы в строке где выводим статусы, писалось (урл не корректный), ну и если урл без http, https, вставить тож будет ошибка.

Проблема номер 2) когда идет проверка урлов, в колонке статусы, у меня идет надпись Проверка..., и после проверки сразу ставиться статус, если все ок то РАБОТАЕТ, а вот если не ок, сайт не доступен, Проверка..., не сменяется на статус НЕ РАБОТАЕТ, пока не понял в чем проблема. На скрине видно предпоследний сайт, на него только под прокси зайти можно, значит статус его не доступен, но там зависло слово Проверка..., а должно было присвоится НЕ РАБОТАЕТ.

Скрипт

[vba]
Код
Sub Кнопка1_Щелчок()
    
    Dim cell As Range
    Dim winHttpReq As Object
    Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
    
    On Error GoTo l_error
        
    For Each cell In Range("Таблица1").Columns(1).Cells
        If cell.Value <> "" Then
      
        cell.Offset(0, 1).Value = "Проверка..."
        Call winHttpReq.Open("GET", cell.Value, False)
        
        Call winHttpReq.Send
        If winHttpReq.Status = 200 Then
            cell.Offset(0, 1).Value = "РАБОТАЕТ"
        Else
            cell.Offset(0, 1).Value = "НЕ РАБОТАЕТ"
        End If
        End If
        
l_error:

    Next cell
End Sub
[/vba]

Скрин

Автор - vl-it
Дата добавления - 23.10.2021 в 21:04
R_Dmitry Дата: Суббота, 23.10.2021, 21:36 | Сообщение № 2
Группа: Друзья
Ранг: Участник
Сообщений: 74
Репутация: 34 ±
Замечаний: 0% ±

2010
Отписался в личку


{Skype : RDG_Dmitry} Если программа тебе понятна,значит она уже устарела
 
Ответить
СообщениеОтписался в личку

Автор - R_Dmitry
Дата добавления - 23.10.2021 в 21:36
R_Dmitry Дата: Суббота, 23.10.2021, 22:28 | Сообщение № 3
Группа: Друзья
Ранг: Участник
Сообщений: 74
Репутация: 34 ±
Замечаний: 0% ±

2010
Ваш код готов, обменялись


{Skype : RDG_Dmitry} Если программа тебе понятна,значит она уже устарела

Сообщение отредактировал R_Dmitry - Воскресенье, 24.10.2021, 13:37
 
Ответить
СообщениеВаш код готов, обменялись

Автор - R_Dmitry
Дата добавления - 23.10.2021 в 22:28
  • Страница 1 из 1
  • 1
Поиск:

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