Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Meldung Netzwerk

Meldung Netzwerk
23.07.2007 19:11:30
Patrick
Hallo
Habe eine Excelsheet wo die Mitarbeiter über eine Userform Daten eintragen.Die Datei liegt auf dem Server.Jeder Mitarbeiter hat einen Short cut erstellt damit er auf dem Server zugreifen kann.Teilweise verliert der betreffende PC die Netzwerk verbidung zum server.
Hier meine Frage?
Ist es möglich in der Userform wo ich erstellt habe dem Mitarbeiter eine Info einzublenden wenn die Verbindung OK ist,dann Grüner Punkt ,wenn nicht OK ist dann Roter Punkt in der Userform.
Wäre euch sehr Dankbar für einen Hinweis
MFG
Patrick

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Meldung Netzwerk
23.07.2007 19:58:00
Thomas
Hallo Patrick,
auf meiner Webseite findest Du unter den Beispielen, die Funktion 'Ping'. Je nach dem, ob der Server erreichbar ist oder nicht, gibt sie WAHR oder FALSCH zurück.
Die könnte beim Öffnen der UserForm ausführen und so den Verbindungszustand signalisieren.
Gruss
Thomas
Risi Thomas Softwareentwicklung
Addins - Datenbanklösungen - Komponenten - RTDServer - WebServices

AW: Meldung Netzwerk
23.07.2007 20:10:00
Patrick
Danke Dir.
Gibt mir jetzt die Meldung mit True = connected;False = nicht connected.
Gibt es denn auch ein Code indem ich nicht auf den Button drücken muss um die Bestätigung zu bekommen sondern automatisch.Mit einem Zeit makro z.b.?
Danke Dir
MFG
Patrick

Anzeige
AW: Meldung Netzwerk
23.07.2007 20:27:00
Thomas
Man kann die Funktion natürlich auch von einem Timer oder aus einem Ereignis (z.B. UserForm_Activate) ausführen.
Gruss
Thomas
Risi Thomas Softwareentwicklung
Addins - Datenbanklösungen - Komponenten - RTDServer - WebServices

AW: Meldung Netzwerk
23.07.2007 20:32:00
Patrick
Hi
Und wie lautet der code wenn man den timer alle 10 minuten startet damit er die verbindung kontrolliert?
Vielen Dank für deine Hilfe
MFG
Patrick

AW: Meldung Netzwerk
23.07.2007 22:02:00
Thomas
Also in ein normales Modul ...
Option Explicit
Private Declare Function GetHostByName Lib "wsock32.dll" Alias "gethostbyname" ( _
ByVal Hostname As String) As Long
Private Declare Function WSAStartup Lib "wsock32.dll" ( _
ByVal wVersionRequired&, lpWSAdata As WSAdata) As Long
Private Declare Function WSACleanup Lib "wsock32.dll" () As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
Private Declare Function IcmpCreateFile Lib "icmp.dll" () As Long
Private Declare Function IcmpCloseHandle Lib "icmp.dll" ( _
ByVal HANDLE As Long) As Boolean
Private Declare Function IcmpSendEcho Lib "ICMP" ( _
ByVal IcmpHandle As Long, _
ByVal DestAddress As Long, _
ByVal RequestData As String, _
ByVal RequestSize As Integer, _
RequestOptns As IP_OPTION_INFORMATION, _
ReplyBuffer As IP_ECHO_REPLY, _
ByVal ReplySize As Long, _
ByVal TimeOut As Long) As Boolean
Private Type WSAdata
wVersion As Integer
wHighVersion As Integer
szDescription(0 To 255) As Byte
szSystemStatus(0 To 128) As Byte
iMaxSockets As Integer
iMaxUdpDg As Integer
lpVendorInfo As Long
End Type
Private Type Hostent
h_name As Long
h_aliases As Long
h_addrtype As Integer
h_length As Integer
h_addr_list As Long
End Type
Private Type IP_OPTION_INFORMATION
TTL As Byte
Tos As Byte
Flags As Byte
OptionsSize As Long
OptionsData As String * 128
End Type
Private Type IP_ECHO_REPLY
Address(0 To 3) As Byte
Status As Long
RoundTripTime As Long
DataSize As Integer
Reserved As Integer
data As Long
Options As IP_OPTION_INFORMATION
End Type
Private Const SOCKET_ERROR = 0

Public Function Ping(ByVal Server As String) As Boolean
Dim hFile As Long, lpWSAdata As WSAdata
Dim hHostent As Hostent, AddrList As Long
Dim Address As Long, rIP As String
Dim OptInfo As IP_OPTION_INFORMATION
Dim EchoReply As IP_ECHO_REPLY
Dim Hostname As String
If Left(Server, 7) = "http://"
Then Server = Mid(Server, 8)
Call WSAStartup(&H101, lpWSAdata)
If GetHostByName(Server + String(64 - Len(Server), 0))  SOCKET_ERROR Then
CopyMemory hHostent.h_name, ByVal GetHostByName(Server + String(64 - Len(Server), 0)),  _
Len(hHostent)
CopyMemory AddrList, ByVal hHostent.h_addr_list, 4
CopyMemory Address, ByVal AddrList, 4
End If
hFile = IcmpCreateFile()
If hFile = 0 Then _
Exit Function
OptInfo.TTL = 255
If IcmpSendEcho(hFile, Address, String(32, "A"), 32, OptInfo, EchoReply, Len(EchoReply) + 8, _
2000) Then
rIP = CStr(EchoReply.Address(0)) + "." + CStr(EchoReply.Address(1)) + "." + CStr( _
EchoReply.Address(2)) + "." + CStr(EchoReply.Address(3))
Else
Exit Function
End If
If EchoReply.Status = 0 Then _
Ping = True
End Function


Sub fct()
' Hier Code ersetzen
MsgBox Ping("www.rtsoftwaredevelopment.de")
Application.OnTime EarliestTime:=(Now + TimeValue("00:10:00")), Procedure:="fct"
End Sub


Und in der UserForm etwa so ...
Option Explicit


Private Sub UserForm_Initialize()
Call fct
End Sub



Private Sub UserForm_Terminate()
On Error Resume Next
Application.OnTime EarliestTime:=TimeValue("00:10:00"), Procedure:="fct", Schedule:=False
End Sub


Viel Spass damit.
Gruss
Thomas
Risi Thomas Softwareentwicklung
Addins - Datenbanklösungen - Komponenten - RTDServer - WebServices

Anzeige
AW: Meldung Netzwerk
23.07.2007 22:36:00
Patrick
Hey
Klappt wunderbar.
Eine Bitte habe ich noch wenn es geht.
Könnte man es nicht so hinbekommen dass wenn die verbindung OK ist dann in der Userform Grün wenn nicht OK dann Rot.
Siehe anhang
Userbild
MFG
Patrick

AW: Meldung Netzwerk
24.07.2007 09:08:00
Thomas
Mal angenommen, das Kästchen in der Ecke ist eine TextBox, dann könnte die Prozedur fct etwa so aussehen ...


Sub fct()
    If Ping("www.rtsoftwaredevelopment.de"Then
        UserForm1.TextBox1.BackColor = &HFF&
    Else
        UserForm1.TextBox1.BackColor = &HFF00&
    End If
    Application.OnTime EarliestTime:=(Now + TimeValue("00:10:00")), Procedure:="fct"
End Sub


Gruss
Thomas
Risi Thomas Softwareentwicklung
Addins - Datenbanklösungen - Komponenten - RTDServer - WebServices

Anzeige
AW: Meldung Netzwerk
24.07.2007 16:31:00
Patrick
Danke Dir
Funzt wunderbar.So wie ich es mir vorgestellt habe.
Vielen Vielen Vielen Dank :-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige