VBA: Быстрая проверка наличия компьютера в сети по пингу

Если необходимо узнать, подключен ли какой то компьютер сейчас или нет на VBA то самый быстрый способ это сделать с помощью команды PING:

' Возвращает TRUE, если пинг прошел
Public Function Ping(ByVal ComputerName As String) As Boolean
Dim oPingResult As Variant
     For Each oPingResult In GetObject("winmgmts://./root/cimv2").ExecQuery _
         ("SELECT * FROM Win32_PingStatus WHERE Address = '" & ComputerName & "'")
         If IsObject(oPingResult) Then
             If oPingResult.StatusCode = 0 Then
                 Ping = True
                 'Debug.Print "ResponseTime", oPingResult.ResponseTime
                Exit Function
             End If
         End If
     Next
End Function
Реклама