Anzeige
Archiv - Navigation
1192to1196
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anpingen + IP-Rückgabe

Anpingen + IP-Rückgabe
Dominik
Hallo alle zusammen,
ich würde gerne eine Liste an Servern anpingen, um somit die IP-Adresse der Server zurückzuerhalten.
In Spalte A sollen die ganzen Servernamen stehen.
In Saplte B soll die dazugehörige IP-Adresse zurückgegeben werden.
Ist das überhaupt so machbar?
Wenn ja,k ann mir da jmd helfen?
Danke
MfG
Dominik

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Anpingen + IP-Rückgabe
21.12.2010 09:28:08
ransi
Hallo
Hier mal ein Ansatz:
Kategorien

 A
1www.herber.de
2www.office-loesung.de
3 
4 
5 
6 
7 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Option Explicit


Public Sub Aufruf()
    Dim Zelle As Range
    For Each Zelle In Range("A1:A3")
        MsgBox PingTest(Zelle.Text)
    Next
End Sub



Function PingTest(strText As String)
    Dim WSHShell As Object
    Dim objExec As Object
    Set WSHShell = CreateObject("WScript.Shell")
    Set objExec = WSHShell.Exec("%comspec% /c Ping " & strText & " -n 1 -w 1000")
    PingTest = objExec.StdOut.readall
End Function


Gibt die MsgBox in deiner Originaltabelle sinnige Werte ?
ransi
Anzeige
AW: Anpingen + IP-Rückgabe
21.12.2010 09:58:38
Dominik
Hallo :)
Danke schonmal.
Ja ich bekomm aufjedenfanfall die IP-Adresse von dem Server angezeigt.
Nun bräuchte ich nur noch etwas, damit nur die IP-Adresse in die Spalte B des jeweiligen Servers eingetragen wird.
Kannst mir da noch weiter helfen?
MfG
Dominik
AW: Anpingen + IP-Rückgabe
21.12.2010 10:19:54
ransi
Hallo Dominik
Dann mal weitergebastelt !
Teste mal dies:
Option Explicit


Public Sub Aufruf()
    Dim Zelle As Range
    Dim derText As String
    Dim Regex
    Dim M
    Set Regex = CreateObject("vbscript.Regexp")
    With Regex
        .Pattern = "\[[0-9.]+\]"
        For Each Zelle In Range("A1:A2500")
            derText = PingTest(Zelle.Text)
            Set M = .Execute(derText)
            If M.Count > 0 Then
                Zelle.Offset(0, 1) = M(0).Value
            End If
        Next
    End With
End Sub


Function PingTest(strText As String)
    Dim WSHShell As Object
    Dim objExec As Object
    Set WSHShell = CreateObject("WScript.Shell")
    Set objExec = WSHShell.Exec("%comspec% /c Ping " & strText & " -n 1 -w 1000")
    PingTest = objExec.StdOut.readall
End Function

ransi
Anzeige
AW: Anpingen + IP-Rückgabe
21.12.2010 10:27:29
Dominik
Hi Ransi ...
ich bin nun erst mal Sprachlos ... ging ja fix hier :)
genau wie ich es mir vorgestellt hab :)
Kannst du mir vllt noch kurz erklären an welchen weil des Codes die IP ausgelesen wird ... bzw. vom rest abgetrennt wird, was davor noch in der MSGBOX drinstand?!
DANKE
MfG
Dominik
AW: Anpingen + IP-Rückgabe
21.12.2010 10:38:27
ransi
Hallo Dominik
Das passiert hier:
With Regex
    .Pattern = "\[[0-9.]+\]"
    'heisst: eine[&solange Zahlen und Punkte bis wieder]
    For Each Zelle In Range("A1:A2500")
        derText = PingTest(Zelle.Text)
        Set M = .Execute(derText) 'Suche das Pattern in derText
        If M.Count > 0 Then '
            Zelle.Offset(0, 1) = M(0).Value 'Die erste Funstelle von Pattern in Spalte B schreiben
        End If
    Next
End With

Google mal mal nach Vbscript.Regexp oder regular expression oder reguläre Ausdrücke.
Ich kratz da auch noch an der Öberfläche.
ransi
Anzeige
AW: Anpingen + IP-Rückgabe
21.12.2010 10:01:00
Tino
Hallo,
habe Dir mal was zusammengebastelt.
Quelle: http://www.vbarchiv.net/tipps/details.php?id=258
Option Explicit

Declare Sub CopyMemory Lib "kernel32" _
  Alias "RtlMoveMemory" ( _
  hpvDest As Any, _
  ByVal hpvSource As Long, _
  ByVal cbCopy As Long)
  
Declare Function gethostbyname Lib "WSOCK32" ( _
  ByVal szHost As String) As Long

Private Type HOSTENT
  hName As Long
  hAliases As Long
  hAddrType As Integer
  hLen As Integer
  hAddrList As Long
End Type

Sub Lese_IP_()
Dim rngRange As Range
Dim i%, lpHost&, lngIP&
Dim tmpIP() As Byte, varIP
Dim m_Host As HOSTENT

With Sheets("Tabelle1")
    Set rngRange = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
End With

For Each rngRange In rngRange
    With rngRange
        If .Value <> "" Then
              lpHost = gethostbyname(ByVal Replace(.Value, "\", ""))
              
              CopyMemory m_Host, ByVal lpHost, ByVal Len(m_Host)
              CopyMemory lngIP, ByVal m_Host.hAddrList, ByVal 4
            
              Redim tmpIP(1 To m_Host.hLen)
              CopyMemory tmpIP(1), ByVal lngIP, ByVal m_Host.hLen
              
              For i = 1 To m_Host.hLen
                 varIP = varIP & tmpIP(i) & "."
              Next i
              
              If Right$(varIP, 1) = "." Then
                varIP = Left$(varIP, Len(varIP) - 1)
              End If
         End If
          
          .Offset(0, 1).NumberFormat = "@"
          .Offset(0, 1) = varIP
          
          varIP = Empty
    
    End With
Next rngRange

End Sub
Gruß Tino
Anzeige
AW: Anpingen + IP-Rückgabe
21.12.2010 10:16:09
Dominik
Hallo Tino,
wenn ich das ausführe zerschießt es mein Excel xD
Folgende Meldung kommt:
Automatisierungsfehler (Fehler 440)
MfG
Dominik
AW: Anpingen + IP-Rückgabe
21.12.2010 10:26:34
Tino
Hallo,
von wo brauchst Du die IP,
von einem im Netzwerk eingebundenen Rechner oder von einer Webseite oder so.
Von einer Webseite ist wohl die Version von Ransi besser,
da bekommst Du einen String zurück aus dem Du Dir die IP filtern musst.
Gruß Tino
AW: Anpingen + IP-Rückgabe
21.12.2010 10:28:51
Dominik
Hey Tino,
Danke für deine Mühe.
Ransi seine Version ist aber nun genau das was ich brauche :)
Und ne geht nicht um websites, sondern Server in unserem Netzwerk :)
Danke auch dir.
MfG
Dominik
Anzeige
AW: Anpingen + IP-Rückgabe
21.12.2010 10:37:22
Dominik
Hey Sepp,
danke auch an dich :) das gefällt mir auch sehr gut ...
Muss ich mal mit meinen Kollegen absprechen, welche Version für sie am besten zu verstehen ist
Gibt es denn diese Version auch "iptoname"?
Also genau andersrum ?!
Danke
MfG
Dominik
Anzeige
AW: Anpingen + IP-Rückgabe
21.12.2010 11:02:29
Josef

Hallo Dominik,
ja, die Funktion IPToHostName() ist enthalten und genauso als Tabellenfunktion anzuwenden.

Gruß Sepp

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige