Hallo forumleden,
Met het volgen van een interessante topic over het terug op nul zetten van een timer, bij elke actie, heb ik volgende vraag:
http://www.helpmij.nl/forum/showthread.php/930019-Openstaande-UserForm-automatisch-sluiten
Code uit topic 930019
Is het mogelijk om bovenstaande code ook in mijn timer in te bouwen of aan te passen, zodat ik de nu in gebruik zijnde reset knop niet meer hoef te gebruiken?
Volgende code wordt gebruikt om een Userform, na bepaalde inactieve tijd het volledige document te laten sluiten. Nu gebruik ik een knop om de timer terug op de volledige ingestelde tijd te resetten, dit werkt, maar de bij elke actie terug op nul zetten methode is veel mooier.
De timer code die ik nu gebruik in mijn werkboek.
Graag jullie hulp want het lukt mij niet.
Alvast bedankt.
Mvg.
Marc
Met het volgen van een interessante topic over het terug op nul zetten van een timer, bij elke actie, heb ik volgende vraag:
http://www.helpmij.nl/forum/showthread.php/930019-Openstaande-UserForm-automatisch-sluiten
Code uit topic 930019
Code:
Private Sub Timer_Start2()
t = DateAdd("s", 1, Time)
If Timer1Val <> 10 Then
Timer1Val = Timer1Val + 1
Application.OnTime t, "module1.Blijf_lopen"
Else
'StopTimer1
End If
End Sub
Public Sub Blijf_lopen()
Timer_Start
End Sub
Is het mogelijk om bovenstaande code ook in mijn timer in te bouwen of aan te passen, zodat ik de nu in gebruik zijnde reset knop niet meer hoef te gebruiken?
Volgende code wordt gebruikt om een Userform, na bepaalde inactieve tijd het volledige document te laten sluiten. Nu gebruik ik een knop om de timer terug op de volledige ingestelde tijd te resetten, dit werkt, maar de bij elke actie terug op nul zetten methode is veel mooier.
De timer code die ik nu gebruik in mijn werkboek.
Code:
Private Sub Timer_Start()
Dim t, E, M As Double, S As Double
Call Macro_Initialize
workfrm.Label3.Visible = True
t = Timer
Do
E = CDbl(Time) * 24 * 60 * 60 - t 'elapsed time in secs
M = Int((AllowedTime * 60 - E) / 60)
S = Int(AllowedTime * 60 - M * 60 - E)
With workfrm.Label11
.Caption = Format(CStr(M), "00") & ":" & Format(CStr(S), "00")
.ForeColor = RGB(53, 197, 70)
If S < 40 Then .ForeColor = RGB(250, 0, 0)
End With
DoEvents
Loop Until (Timer - t) / 60 >= AllowedTime
Unload Me
ThisWorkbook.Close SaveChanges:=False
End Sub
Private Sub Macro_Initialize()
Dim M As Double, S As Double
AllowedTime = "1" 'setting time in minutes
M = Int(AllowedTime)
S = (AllowedTime - Int(AllowedTime)) * 60
With workfrm.Label11
.Caption = Format(CStr(M), "00") & ":" & Format(CStr(S), "00")
End With
End Sub
Graag jullie hulp want het lukt mij niet.
Alvast bedankt.
Mvg.
Marc