mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!

Получение списка IP адресов средствами VBA

Function Get_All_IP_Addresses() As Collection
    ' возвращает коллекцию, содержащую все IP-адреса всех сетевых интерфейсов
    Set Get_All_IP_Addresses = New Collection
    Set objWMIService = GetObject("winmgmts://./root/cimv2")
    query = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"
    Set colAdapters = objWMIService.ExecQuery(query) ' выполняем запрос

    Dim IPaddr As String: On Error Resume Next
    For Each objAdapter In colAdapters ' перебираем все интерфейсы
        If Not IsNull(objAdapter.IPAddress) Then
            For i = 0 To UBound(objAdapter.IPAddress) ' перебираем все IP адреса
                IPaddr = objAdapter.IPAddress(i)
                If Val(IPaddr) > 0 Then    ' кроме адреса 0.0.0.0
                    ' добавляем в коллекцию только уникальные значения
                    Get_All_IP_Addresses.Add IPaddr, IPaddr
                End If
            Next
        End If
    Next
End Function
 
Sub ВыводРезультатов_Get_All_IP_Addresses()
    For Each IPaddr In Get_All_IP_Addresses
        txt = txt & IPaddr & vbNewLine
    Next
    MsgBox txt, vbInformation, "Список всех IP адресов"
End Sub

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
          ____    _       _   _____    ___  
_ _ |___ \ / | | | |___ | ( _ )
| | | | __) | | | _ | | / / / _ \
| |_| | / __/ | | | |_| | / / | (_) |
\__, | |_____| |_| \___/ /_/ \___/
|___/
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.