MsgBox und Abbruch bei Inaktivität
 |
Betrifft: MsgBox und Abbruch bei Inaktivität
von: rainix
Geschrieben am: 12.08.2004 21:32:08
Hallo und guten Abend zusammen,
bei der Feinheitenerstellung eines UserForms kam nun ein Problem auf, bei welchem ich in der Literatur noch nichts gefunden habe.
Ich habe ein Formular bei welchem über eine MsgBox (ja/nein) der User aufgefordert wird eine Auswahl zu treffen. Der User soll allerdings diese Auswahl innerhalb von max.20 Sekunden treffen, ansonsten soll das UserForm selbsttätig abbrechen (Exit Sub).
Frage nun, wer hat hier einen einfach umzusetzenden Code, welcher paralel zur MsgBox bei Inaktivität das UserForm abbricht.
Der Grund hierfür ist der Zugriff auf eine entfernte Datei im Netzwerk, welche durch mehrere User bearbeitet wird (nicht gleichzeitig über Freigabe).
Es wäre toll wenn hier einer eine Lösung weiß.
Dank im voraus
rainix (Rainer)
Betrifft: AW: MsgBox und Abbruch bei Inaktivität
von: Ulf
Geschrieben am: 12.08.2004 21:44:50
Gib mal in der Recherche MsgBox ein, da findest du mehrere Vorschläge zum Thema.
Ulf
Betrifft: AW: MsgBox und Abbruch bei Inaktivität
von: Ramses
Geschrieben am: 12.08.2004 21:53:08
Hallo
mit EXCEL Bordmitteln geht das nicht, da brauchst du den Windows Scripting Host (WSH)
Hier ein Beispiel
Die Messagebox wird nach 20 Sekunden geschlossen
Option Explicit
Sub test()
Dim objWSH As Object
Dim Time_Out As Integer, Title As String, Button As Integer
Dim Answer As Integer
Time_Out = 20
Title = "Sie haben" & Time_Out & " Sekunden Zeit"
Button = vbYesNo
Set objWSH = CreateObject("WScript.Shell")
Answer = objWSH.Popup("Bitte antworten Sie...", Time_Out, Title, Button)
If Answer = vbYes Then
MsgBox "Ja gedrückt"
ElseIf Answer = vbNo Then
MsgBox "Nein gedrückt"
End If
End Sub
Gruss Rainer
Betrifft: AW: MsgBox und Abbruch bei Inaktivität
von: rainix
Geschrieben am: 12.08.2004 22:00:09
Hallo Rainer :-)
vielen Dank für die Bemühungen, für mich stellt sich jetzt die Frage, wo wird der Code eingegeben, ich kenne mich mit diesem WSH noch nicht aus.
Wir das auch im UserForm verankert ???
Gruß rainix (Rainer)
Betrifft: AW: MsgBox und Abbruch bei Inaktivität
von: Ramses
Geschrieben am: 12.08.2004 22:05:44
Hallo
das wird ganz normal in ein Modul eingegeben oder auch in der Userform.
Du willst ja bei einem Druck auf einen Commandbutton diese Messagebox öffnen, also kopiere den Code in den Commandbutton.
Gruss Rainer
Betrifft: Nachtrag....
von: Ramses
Geschrieben am: 12.08.2004 22:21:23
Hallo
du musst ja noch wissen, ob die MsgBox ohne Aktion nach dem TimeOut geschlossen wurde
Sub Time_Out_MsgBox_YesNo()
Dim objWSH As Object
Dim Time_Out As Integer, Title As String, Button As Integer
Dim Answer As Integer
Time_Out = 3
Title = "Sie haben" & Time_Out & " Sekunden Zeit"
Button = vbYesNo
Set objWSH = CreateObject("WScript.Shell")
Answer = objWSH.Popup("Bitte antworten Sie...", Time_Out, Title, Button)
If Answer = vbYes Then
MsgBox "Ja gedrückt"
ElseIf Answer = vbNo Then
MsgBox "Nein gedrückt"
ElseIf Answer = -1 Then
MsgBox "MsgBox wurde geschlossen ohne Aktion"
'Userform schliessen
'Unload Me
'Mappe schliessen
'ThisWorkbook.Close savechanges:=False
End If
End Sub
Gruss Rainer
Betrifft: AW: Nachtrag....
von: rainix
Geschrieben am: 12.08.2004 22:45:26
Hallo Rainer,
vielen Dank für Deine Bemühungen, ich werde gleich morgen den Code ausprobieren.
Danke und schönen Abend noch.
Gruß aus Radevormwald
rainix (Rainer)
Betrifft: AW: Nachtrag....
von: rainix
Geschrieben am: 13.08.2004 07:21:14
Morgen Rainer,
wie gestern Abend noch angekündigt, habe ich den Code jetzt eingebaut.
>>> LÄUFT PRIMA <<<
Ich werde diesen jetzt noch für meine Bedingungen anpassen.
Vielen Lieben Dank auch und schönes Wochenende.
rainix (Rainer)
Beiträge aus den Excel-Beispielen zum Thema "MsgBox und Abbruch bei Inaktivität"