Разрешить IP-адрес имени хоста с помощью Excel / VBA - PullRequest
0 голосов
/ 27 октября 2019

Я хочу получить IP-адрес имени хоста, предпочтительно используя как можно меньше зависимостей. Если возможно, никаких вызовов API и внешних приложений, но если это единственный способ, пусть будет так.

Пример использования:

Function IPfromHostname(myhostname as string)

  ' Validate myhostname is a valid domain format ?

  ' Query local dns server to resolve the IP address of myhostname

  'return the IP in decimal format

End Function

спасибо

1 Ответ

0 голосов
/ 27 октября 2019

Вот код, который должен работать для вас:

Function GetIPfromHostName(p_sHostName)
    Dim wmiQuery
    Dim objWMIService
    Dim objPing
    Dim objStatus

    wmiQuery = "Select * From Win32_PingStatus Where Address = '" & p_sHostName & "'"

    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set objPing = objWMIService.ExecQuery(wmiQuery)

    For Each objStatus In objPing
        If objStatus.StatusCode = 0 Then
            GetIPfromHostName = objStatus.ProtocolAddress
        Else
            GetIPfromHostName = "Unreachable"
        End If
    Next

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...