ich lasse einen Timer laufen, der mir in der Statusbar rückwärts zählt.
Wenn ich jetzt allerdings die Mappe wechsle, zählt die Statusbar weiter. Der Timer soll ja weiterlaufen, aber ich will die Zeit erst wieder sehen, wenn ich wieder auf der zugehörigen Mappe bin, auf der der Timer auch läuft. Geht das irgendwie ?
Option Explicit
Option Private Module
Public Const ciIntervall As Integer = 1
Public Const dsMacro As String = "AutoClose"
Public gdNextTime As Double
Private iWait As Integer
Const cMax = 900
Public TextStatusbar As String
Public Sub AutoClose()
iWait = iWait + 1
If cMax - iWait > 0 Then
Application.StatusBar = TextStatusbar & " // Zwangsabmeldung in " & cMax - iWait & " Sekunde(n)"
gdNextTime = Now + TimeSerial(0, 0, ciIntervall)
Application.OnTime gdNextTime, dsMacro
Else
Application.StatusBar = TextStatusbar & "// Zwangsabmeldung wird gestartet"
Call UF_Zwangsabmeldung.Show
End If
End Sub
Public Sub AutoCloseStart()
iWait = 0
Call AutoClose
End Sub
Public Sub AutoCloseStop()
On Error Resume Next
Application.StatusBar = TextStatusbar
Application.OnTime earliesttime:=gdNextTime, _
procedure:=dsMacro, schedule:=False
End Sub