Identificação de máquinas online – Ping em Ip Excel Servidores

Calendário no Excel 2010
Calendário no Excel 2010
12 de agosto de 2012
Consolidação de dados em Excel VBA - União de dados em Excel VBA
Consolidação de dados em Excel VBA – União de dados em Excel VBA
16 de agosto de 2012

Identificação de máquinas online – Ping em Ip Excel Servidores

Essa foi uma ideia enviada pelo amigo Alcides R. Teixeira que perguntou se era possível criar uma planilha que verificasse periodicamente se as máquinas continuavam online fazendo Ping.

Desta forma encontrei uma função VBA na página http://www.ehow.com/how_12103340_use-vb-vba-perform-ping-test.html e a adaptei para que fossem retornadas as informações relevantes para este acompanhamento e criei uma planilha aonde é possível colocar todas as máquinas listadas.

Foi ainda incluso o agendamento para que a cada 1 minuto a planilha atualizasse os dados e identificasse se todos os endereços IP continuam em rede.

Para que a planilha inicie a verificação, primeiro é necessário que sejam digitados os locais na planilha.

Na coluna situação nós temos o percentual de Pings com pacotes entregues, são feitas 4 tentativas de entrega e dividido o total de pacotes concluídos pelo total de tentativas.

Na coluna Tempo você tem o tempo mínimo, máximo e a média de entrega dos pacotes.

Abaixo o código fonte da planilha e depois o download.

Public Sub lsTestarLocais()
    On Error Resume Next

    Dim lUltimaLinhaAtiva   As Long
    Dim lContador           As Long
    Dim lDados()            As String

    lUltimaLinhaAtiva = Worksheets("Painel").Cells(Worksheets("Painel").Rows.Count, 1).End(xlUp).Row

    For lContador = 2 To lUltimaLinhaAtiva
        lDados = Split(myPingFunction(Worksheets("Painel").Range("A" & lContador).Value), "||")

        Worksheets("Painel").Range("C" & lContador).Value = ""

        If lDados(1) <> "novamente." Then
            If Mid(lDados(8), 36, 1) = 0 Then
                Worksheets("Painel").Range("B" & lContador).Value = 0
            Else
                Worksheets("Painel").Range("B" & lContador).Value = Mid(lDados(8), 21, 1) / Mid(lDados(8), 36, 1)
                Worksheets("Painel").Range("C" & lContador).Value = Replace(Replace(Replace(lDados(11), "M¡", "Mí"), "M ", "Má"), "M‚", "Mé")
            End If
        Else
            Worksheets("Painel").Range("B" & lContador).Value = 0
        End If
    Next lContador

    Worksheets("Painel").Range("I2").Value = Now()

    lsAgendamento
End Sub

Function myPingFunction(hostAddress As String) As String
    On Error Resume Next

    Dim FSObj As Object
    Dim shellObj As Object
    Dim tmpFileObj As Object
    Dim sLine As String
    Dim sFilename As String
    Dim sRetorno()    As String

    Set FSObj = CreateObject("Scripting.FileSystemObject")
    Set shellObj = CreateObject("Wscript.Shell")

    sFilename = FSObj.GetTempName
    shellObj.Run "cmd /c ping " & hostAddress & " >" & sFilename, 0, True

    Set tmpFileObj = FSObj.OpenTextFile(sFilename, 1)

    Do While tmpFileObj.AtEndOfStream <> True
        sLine = tmpFileObj.Readline
        myPingFunction = myPingFunction & Trim(sLine) & "||"
    Loop

    tmpFileObj.Close
    FSObj.DeleteFile (sFilename)
End Function

Sub lsAgendamento()
    Application.OnTime Now + TimeValue("00:01:00"), "lsTestarLocais"
End Sub

Abraço

Marcos Rieper


Clique aqui e leia mais sobre Excel VBA. https://www.guiadoexcel.com.br/vba/ O Guia do Excel foi criado por Marcos Rieper e oferece artigos, dicas, tutoriais e modelos de planilhas prontas. Aqui você encontra tudo sobre Excel, seja de nível básico, intermediário,  avançado e VBA. O Guia do Excel oferece diversos materiais completamente gratuitos para download. Navegue em nosso site e confira! Conheça também a nossa Loja do Excel https://loja.guiadoexcel.com.br/
Cursos

Curso Excel Completo – Curso Excel Básico + Curso Excel Avançado – Acesso Vitalício

R$218,00 R$179,00

COMPRAR
Cursos

Curso Excel Master – Curso Excel Básico + Curso Excel Avançado + Curso VBA Excel + LP – Acesso Vitalício

R$357,00 R$249,00

COMPRAR
Cursos

Curso Excel PRO – Curso Excel Avançado + Curso VBA Excel + Lógica de programação – Acesso Vitalício

R$258,00 R$199,00

COMPRAR
Cursos

Curso Excel Web – Curso VBA Excel + Lógica de programação + Curso Web Scraping VBA- Acesso Vitalício

R$388,90 R$309,00

COMPRAR

11 Comentários

  1. wesley francisco disse:

    Marcos, boa tarde!
    Baixei sua planilha de Identificação de máquinas online – Ping em Ip Excel Servidores, só que estou com um problema.
    Quando insiro um ip tipo 192.168.100.254 ele nao acha o equipamento na rede, você pode me ajudar nesse problema?
    Todo ip que tem o numero 1xx da erro.

  2. wesley francisco disse:

    Marcos, boa tarde.

    Os IP estão corretos, estão configurados em vários DVR´s aqui onde trabalho.
    Segue IP´S;

    192.168.110.254
    192.168.111.106
    192.168.112.254
    192.168.113.254
    192.168.114.254

  3. wesley francisco disse:

    Alguma solução Marcos?

  4. Heitor Campos disse:

    Olá, ótima planilha. Estou com uma dúvida. Poderia me ajudar a colocar os ips, porém na visualização ao invés de aparecer os números, aparecer o Nome de cada servidor?

  5. Leonardo disse:

    bom dia, onde eu adiciono o codigo fonte na planilha

  6. monique disse:

    Oi

    Nao consegui usar no mac, pode me ajudar?

  7. RAFAEL CAYRES disse:

    Bom dia!

    Quero saber como adicionar mais linhas para poder inserir mais servidores?

    Obrigado, muito útil isso.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Inscreva-se no nosso canal do Youtube!


Junte-se ao nosso canal do Youtube. Começamos em abril de 2016, mas já temos mais de 06:00 h de treinamentos gratuitos e este número irá aumentar. Vídeos novos todos os sábados.