"Levande" digital klocka

Här demonstreras hur vi kan arbeta med Application.Ontime, där vi skapar en "levande" digital klocka.

För att kunna göra det krävs det tre procedurer, starta, uppdatera och stopp klockan. Uppdaterings-proceduren utgör här den viktigaste delen.

 

Starta klockan:

Option Explicit

Public KörNär As Double
'------------------------------------------
Sub StartaKlockan()
With Range("A1")
            .Value = Now
            .NumberFormat = "hh:mm:ss"
End With

'Här tilldelas den publika variabeln ett tidsvärde
KörNär = Now + TimeSerial(0, 0, 1)

'Här anropas UppdateraKlockan
Application.OnTime earliesttime:=KörNär, _
procedure:="UppdateraKlockan", schedule:=True
End Sub

Uppdatera klockan:

Sub UppdateraKlockan()
With Range("A1")
       .Value = Now
       .NumberFormat = "hh:mm:ss"
End With

KörNär = Now + TimeSerial(0, 0, 1)

Application.OnTime earliesttime:=KörNär, _
procedure:="UppdateraKlockan", schedule:=True
End Sub

Stoppa klockan:

Sub StoppaKlockan()
'Genom att tilldela parametern "schedule" värdet Falskt så
'stoppas klockan.
Application.OnTime earliesttime:=KörNär, _
procedure:="UppdateraKlockan", schedule:=False
End Sub