Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Sub pinglan()
    Begin = "N3"    ' Клетка, с которой начинается просмотр адресов в таблице
    N_Uzl = 2       ' Число подузлов, отлич на единицу в последнем октете
    N_Ping = 8      ' Число запросов
    
    Set WS = CreateObject("WScript.Shell")
    
    ip = Range(Begin)
    i = 0
    Do While Len(Trim(ip)) <> 0
        ipm = Split(ip, ".")
        Range(Begin).Offset(i, 1) = "Тестирую ..."
        Range(Begin).Offset(i, 2) = ""
        Ret = WS.Run("cmd /C Ping -n " + CStr(N_Ping) + " " + ip, 0, True)
        
        Msg = CStr(Date) + " " + CStr(Time)
        Msg2 = ""
        If Ret = 0 Then
            Msg = Msg + " OK"
            For j = 1 To N_Uzl
                ip = CStr(ipm(0)) + "." + CStr(ipm(1)) + "." + CStr(ipm(2)) + "." + CStr(ipm(3) + j)
                Ret = WS.Run("cmd /C Ping -n " + CStr(N_Ping) + " " + ip, 0, True)
                Msg2 = Msg2 + ip
                If Ret = 0 Then Msg2 = Msg2 + "-OK " Else Msg2 = Msg2 + "-Err "
            Next
        Else
            Msg = Msg + " Err"
        End If
        Range(Begin).Offset(i, 1) = Msg
        Range(Begin).Offset(i, 2) = Msg2
        
        i = i + 1
        ip = Range(Begin).Offset(i, 0)
    Loop
End Sub

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:39, 18-10-2010 | #19