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
Получение списка IP адресов средствами VBA |
- 11526 просмотров
Не получается применить макрос? Не удаётся изменить код под свои нужды?
Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.
Комментарии
Отправить комментарий