Привет, помогите, есть макрос в Exel он берет имя машины в сети и ищет IP адрес и подставляет, но я не могу сделать так что бы он подставлял пустое значение если не nslookup-тся машина и выпадает завершить или редактирование, он останавливается если не нашел в ДНС запись. Как сделать чтобы он подставлял значение "не в сети" и дальше обрабатывал имена и подставлял IP?
Код |
---|
Public Sub ip()
Set objShell = CreateObject("WScript.Shell")
last = Range("A65536").End(xlUp).Row '- последняя строка
For i = 2 To last
strIP = Range("A" & i & "").Value 'имя ПК
Set objScriptExec = objShell.Exec("nslookup.exe " & strIP) 'nslookup
strPingResult = objScriptExec.StdOut.ReadAll 'получаем ответ
'Set objStdOut = objScriptExec.StdOut
arrayPingResult = Split(strPingResult, vbCrLf) 'разбиваем на строки
arrayPCLine = Split(arrayPingResult(4), " ") ' нас интересует четвертая строка
On Error Resume Next
Range("B" & i & "") = arrayPCLine(2) ' 2 значение в 2 строке как раз и есть IP
Next i
End Sub |
Вышел из положения так, добавил строку. Но IP подставляет предыдущего.
Спасибо.