Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform / Arbeitsmappe bei Inaktivität schließen

Forumthread: Userform / Arbeitsmappe bei Inaktivität schließen

Userform / Arbeitsmappe bei Inaktivität schließen
22.06.2024 11:19:12
Banditpredator
Hallo zusammen,

ich habe eine Arbeitsmappe, die über eine Userform bearbeitet werden soll. Ich würde gerne haben wollen, dass sich die Userform und die Arbeitsmappe schließen, sobald ein User beispielsweise 60 Sekunden inaktiv ware, sprich kein MouseMove-Event etc. stattgefunden hat.

Lässt sich sowas bewerkstelligen?

Danke + liebe Grüße
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform / Arbeitsmappe bei Inaktivität schließen
22.06.2024 11:30:05
Alwin Weisangler
Hallo,

ja es lässt sich bewerkstelligen. Es ist aber Sinnfrei.

Du musst mit einem Timer API die Klasse (Userform) überwachen. Das dürfte nicht sonderlich ressourcenfreundlich sein.

Gruß Uwe
AW: Userform / Arbeitsmappe bei Inaktivität schließen
22.06.2024 11:57:40
Volti
Hallo,
Mein Tipp, wenn es nur um Mouseevent geht.
Timer setzen (ggf. 60 Sekunden.) (Exceltimer oder API-Timer SetTimer)
API GetCursorPos verwenden und alte Position mit aktueller vergleichen.
Timer löschen nicht vergessen.

Bin den ganzen Tag nicht am Rechner, daher (heute) leider kein Beispielcode.
Ich sehe hierbei keine Performanceprobleme...

Gruß KH
Anzeige
AW: Userform / Arbeitsmappe bei Inaktivität schließen
22.06.2024 23:58:57
volti
Hallo,

hier eine Idee dazu....

Code:


' In ein allgemeines Modul Public Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Public Declare PtrSafe Function SetTimer Lib "user32" ( _ ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr, _ ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As LongPtr Public Declare PtrSafe Function KillTimer Lib "user32" ( _ ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr) As Long Private Type POINTAPI x As Long y As Long End Type Public PT As POINTAPI, PTOLD As POINTAPI Public hTimer As LongPtr Public Sub UFCallback() GetCursorPos PT If (PT.x + PT.y) = (PTOLD.x + PTOLD.y) Then Unload UserForm1 PTOLD = PT End Sub Sub Test() UserForm1.Show End Sub ' In Userformmodul Private Sub UserForm_Initialize() GetCursorPos PTOLD hTimer = SetTimer(0&, 0&, 60000, AddressOf UFCallback) End Sub Private Sub UserForm_Terminate() KillTimer 0&, hTimer MsgBox "Jetzt die Mappe schließen!" End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: Userform / Arbeitsmappe bei Inaktivität schließen
25.06.2024 20:30:40
Banditpredator
Danke dir Karl Heinz, ich werde das mal an einem praktischen Beispiel testen!

Liebe Grüße
AW: Userform / Arbeitsmappe bei Inaktivität schließen
22.06.2024 12:12:46
Onur
Über "MouseMove" wäre Blödsinn, wie auch schon "steve1da" dir schrieb, da zu viel Stress für den Prozessor.
Du könntest aber einen Timer, der nach 30 s die Datei schliesst, jedesmal löschen (!) und neustarten lassen, wenn z.B. etwas in der Datei verändert wird oder bei MouseClick..
Anzeige
AW: Userform / Arbeitsmappe bei Inaktivität schließen
22.06.2024 11:43:54
Banditpredator
Danke für deine Antwort. Die Ressourcen könnten tatsächlich ein Problem darstellen, da die Rechner der betroffenen User relativ performanceschwach sind.

Eine Alternative fällt dir nicht ein, oder?
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige