Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
388to392
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
388to392
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Rechner anpingen

Rechner anpingen
27.02.2004 16:14:11
Sven
Hallo
Ich suche ein Programm das testet ob der folgende Rechner online ist.
Unter C habe ich es wie folgt gelöst:
int erfolg;
erfolg = system ("ping 188.167.678.67");
if (erfolg == 0).....
Wie kann ich dies mit Excel machen?
Danke schon mal im vorraus!
mfg Sven

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nur über Umweg...
27.02.2004 17:26:57
Ramses
Hallo
Wenn du den Rechner anpingst erhältst du eine fiktive Nummer ohne Aussagekraft.
Die ändert sich bei jedem Ping.
Den einzigen Ausweg den ich kenne ist, wie auch bei Herber schon mal beschrieben, eine Text-Datei als Ausgabe zu erstellen, und daraus das Ergebnis zu extrahieren.
Statt Debug.print kannst du auch Msgbox "Rechner da" verwenden


Sub Check_IP_Number()
'by Ramses
'Hilfsvariable für Anzahl Datensätze
Dim Text1 As String
'Variablen für den Array nötig
Dim txtlines As Long, i As Long, n As Long
'Für Office97 muss das Array "TextArr" als String definiert werden
'Entdeckt duch Gerd Z aus dem Herber Forum
Dim textArr As Variant, myCmd As Variant, myIp As String
Dim ReadFile As String
'Export der IP-Adress in ein txt File
'Den Namen und Pfad bitte anpassen
ReadFile = "C:\myIP.txt"
myCmd = Shell("cmd.exe /C ping 192.168.0.2 > " & ReadFile)
'Erzeugt diese Einträge in der Datei
'
'Ping wird ausgefhrt fr 192.168.0.2 mit 32 Bytes Daten:
'Antwort von 192.168.0.2: Bytes=32 Zeit=8ms TTL=128
'Antwort von 192.168.0.2: Bytes=32 Zeit=2ms TTL=128
'Antwort von 192.168.0.2: Bytes=32 Zeit=3ms TTL=128
'Antwort von 192.168.0.2: Bytes=32 Zeit=3ms TTL=128
'
'Ping-Statistik fr 192.168.0.2:
'
'Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust),
'Ca. Zeitangaben in Millisek.:
'Minimum = 2ms, Maximum = 8ms, Mittelwert = 4ms
'------
'Schliessen einer geöffneten Datei
Close #1
Open ReadFile For Input As #1
'Die anzahl ist nötig um die Grösse des Arrays zu deklarieren
'Zähler auf 0 setzen
txtlines = 0
Do While Not EOF(1)    ' Schleife bis Dateiende.
    Line Input #1, Text1    ' Hilfsvariable zum einlesen verwenden
    'Zähler hochzählen
    txtlines = txtlines + 1
Loop
'Schliessen der Datei weil Dateiende erreicht wurde
Close #1
'Erneutes Öffnen um zum Dateianfang zu kommen
Open ReadFile For Input As #1    ' Datei zum Einlesen öffnen.
'Array neu auf die Anzahl der Linien initialisieren
ReDim textArr(txtlines)
'Einlesen der Dateien in das Array
For i = 1 To txtlines - 1
    Line Input #1, textArr(i)
Next i
Close #1
'IP String auslesen
For i = 1 To txtlines
    'Die IP-Adresse muss vorkommen
    If Left(textArr(i), 7) = "Antwort" And InStr(1, textArr(i), "192.168.0.2") Then
        ' in der übernächsten Zeile kommen die Antwortzeiten
        For n = 2 To 5
            'in den nächsten 4 Zeilen kommen die Antwortzeiten
            Debug.Print Trim(Right(textArr(i + n), Len(textArr(i + n)) - InStrRev(textArr(i + n), ":", -1)))
        Next n
    End If
Next i
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruss Rainer
Anzeige
zwar auch über umweg aber einfacher...
27.02.2004 19:05:55
y
hi sven,

Sub pruefen()
Rechner = "haupt" ' hier bitte den rechnernamen eintragen
ShellAndWait ("CMD.EXE /c " & "ping " & Rechner & " > C:\Test.txt")
Close #1
Open "c:\Test.txt" For Input As #1
Input #1, Textzeile
If Left(Textzeile, 4) = "Ping" Then
MsgBox ("Der Rechner " & Rechner & " ist nicht erreichbar")
Else
MsgBox ("Der Rechner " & Rechner & " ist erreichbar")
End If
Close #1
Kill "c:\Test.txt"
End Sub


Function ShellAndWait(FileName As String)
Dim objScript
Set objScript = CreateObject("WScript.Shell")
ShellApp = objScript.Run(FileName, 1, True)
ShellAndWait = True
End Function

cu Micha
Anzeige
AW: Rechner anpingen
27.02.2004 20:28:49
Sven
Danke hat mir sehr geholfen..
mfg Sven
Geschlossen.o.T.
28.02.2004 01:08:59
Ramses
...
AW: Ich mach jetzt auch zu ;-) o.T.
28.02.2004 08:20:06
andre
...ich auch ;-) o.t.
28.02.2004 11:20:09
y
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige