Identificação de máquinas online - Ping em Ip Excel Servidores
Identificação de máquinas online - Ping em Ip Excel Servidores - Identifica os ips conectados a rede através de uma planilha Excel VBA.
Especialista em Excel

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
Principais recursos
Confira o que este material oferece para você.
Perguntas frequentes
O material é realmente gratuito?
Sim. O acesso é gratuito e não exige cadastro.
Preciso ter o Excel instalado?
Recomendamos o Excel 2013 ou superior para todos os recursos.
Como faço para receber atualizações?
As atualizações são automáticas dentro da própria planilha.
Funciona no Excel do Mac?
Sim, funciona no Excel para Windows e para Mac.
Funciona no celular?
É possível visualizar no app do Excel; a edição completa é no computador.
Planilhas relacionadas
Planilha de Fluxo de Caixa
R$ 89,90
Controle de Estoque
R$ 69,90
Planilha Financeira Empresarial
R$ 79,90
Dashboard Financeiro no Excel
R$ 49,90







