Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 10:41   #1
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию Ping сети

В столбце В прописаны IP. Как запустить пинг? Если IP доступен то строка закришивается в зеленый цвет, если нет то красный.
Aleksandr вне форума Ответить с цитированием
Старый 30.11.2010, 11:05   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Посмотрите здесь

на основании статьи функцию нашел на одном из форумов
Код:
'функция проверки ответа от хоста
Public Function TestIP_CPU() As Long

On Error GoTo fin

   Dim ECHO As ICMP_ECHO_REPLY
   Dim pos As Long
   Dim success As Long
   Dim result As Long
   If SocketsInitialize() Then
   
    
          success = Ping(("192.31.127.39"), "", ECHO)
            result = CLng(Mid(GetStatusCode(success), 1, 1))
    
               ' если комп пингуется то 1 если нет 0
                If result = 0 Then TestIP_CPU = 1 Else TestIP_CPU = 0
          
          SocketsCleanup
    
 End If

exit_TestIP_CPU:

   Exit Function
   
fin:
     
   End Function
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 30.11.2010 в 11:08.
doober вне форума Ответить с цитированием
Старый 30.11.2010, 11:31   #3
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Я делаю так, но мне нужно чтобы IP Брались из столбца строки окрашивались, а не выводилось сообщение
Код:
Private Sub CommandButton1_Click()
 pid = Shell("ping 197.138.2.21", 0)
 hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 0, pid)
 If hProcess <> 0 Then
    Do
        GetExitCodeProcess hProcess, exit_code
        DoEvents
    Loop Until exit_code <> STILL_ACTIVE
    'MsgBox "exit_code = " & exit_code, vbInformation
    CloseHandle hProcess
 End If
 If exit_code = 0 Then
  MsgBox "OK!", , "Отчет"
 Else
  MsgBox "Нет связи", vbCritical, "Отчет"
 End If

End Sub
Aleksandr вне форума Ответить с цитированием
Старый 30.11.2010, 11:33   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

У меня есть пример - в точности то, что вам надо
При проверке отображается форма - но её несложно убрать:



В примере есть функции

Function Ping(ByVal sAddress As String) As Long ' возвращает время прохождения пакета в миллисекундах
и
Function PingEx(ByVal sAddress As String, Optional ByVal DataSize As Long = -1, Optional ByVal TimeOut As Long = -1) As Long
- их можно использовать и в ячейках листа Excel
(только пересчёт ячеек может занимать много времени)

Последний раз редактировалось EducatedFool; 30.11.2010 в 11:43.
EducatedFool вне форума Ответить с цитированием
Старый 30.11.2010, 11:46   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот вам ещё один пример - чисто закраска ячеек, без всяких лишних форм:

EducatedFool вне форума Ответить с цитированием
Старый 30.11.2010, 13:03   #6
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Спасибо огромное. То что надо
Aleksandr вне форума Ответить с цитированием
Старый 30.11.2010, 13:50   #7
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

А как сделать чтобы сканер запускался каждую минуту.
Aleksandr вне форума Ответить с цитированием
Старый 11.06.2012, 20:42   #8
viktar
Новичок
Джуниор
 
Регистрация: 11.06.2012
Сообщений: 1
По умолчанию

есть проблема excel глючит и закрывается
viktar вне форума Ответить с цитированием
Старый 11.06.2012, 22:35   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Тогда используйте другие реализации функции PING в Excel,
самостоятельно прикрутив цикл к этой функции:
http://excelvba.ru/code/Ping

http://excelvba.ru/category/network/ping
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ping до google ilma55 PHP 9 24.02.2010 20:36
ping TaTT DoGG Общие вопросы .NET 2 06.10.2008 12:48
Вопрос о Ping! TyoshA Работа с сетью в Delphi 2 05.02.2008 22:10
Ping Баламут Работа с сетью в Delphi 5 23.08.2007 15:17
Многопоточный Ping Квэнди Работа с сетью в Delphi 0 18.12.2006 15:01