• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Countdown klokje

Status
Niet open voor verdere reacties.

novec

Gebruiker
Lid geworden
6 jan 2009
Berichten
194
Hallo

Ik heb een countdown klokje gemaakt. Waarbij telkens 60 seconden worden afgeteld tot 0

Ik gebruik dit voor mijn sport waar we na een minuut starten.
Allemaal wel aardig gelukt maar ...
de countdown is een loop in VBA en ik wil die loop onderbreken als de klok op 0 staat.
Ik heb het nodige gedaan met if statements maar krijg het niet voor elkaar.


Wie wil er even naar kijken svp

Bekijk bijlage time.xlsm
 
Maak er eens dit van:
Code:
Public Sub CountDoun()
    Static Teller As Integer
    
    Teller = Teller + 1
    If Teller = 60 Then
        Teller = 0
        Exit Sub
    End If

    Range("l2").Value = Time()
    Application.OnTime Time() + TimeValue("00:00:01"), "Countdoun"

End Sub
 
Laatst bewerkt:
Of:
Code:
Public Sub CountDoun()
Dim t As Date, a As Date
 t = Time
    Do
      Range("l2").Value = Time()
      a = DateAdd("s", 1, Time)
      DoEvents
    Loop Until a = t + TimeValue("00:01:01")
End Sub
 
Alles werkt prima. Ben er blij mee.
Ik heb echter nog en verzoekje.

Ik zou graag af willen tellen in audio.
Ik heb een .wav bestandje van 1 minuut 10 waarbij op 1:10 wordt gezegd "Prepare to race!" daarna "oneminute", "50" , "40" enz.

Omdat audio lastig te starten is in VBA en omdat ik dan ook nog e.e.a. om moet bouwen waardoor dit 10 seconden gebeurd voordat de klok gaat lopen, heb ik een andere oplossing geprobeerd: application.speech
Maar ik krijg de case statement niet aan de praat :)
Ik gebruik expression maar dat werk niet.
Ik plaats hem in de loop. Dat is toch de juiste plaats?
Select Case_expression

Case a = t + TimeValue("00:00:00")
Application.Speech.Speak "One minute!"
Case a = t + TimeValue("00:00:10")
Application.Speech.Speak "50"

End Select

Bekijk bijlage time v1.01.xlsm

enig idee??
 
Zoiets.
Code:
Public Sub CountDoun()
Dim t As Date, a As Date
 t = Time
  Application.Speech.Speak "One minute!"
    Do
     DoEvents
      Range("l2").Value = Time()
      a = DateAdd("s", 1, Time)
    If a = t + TimeValue("00:00:10") Then Application.Speech.Speak "50"
    Loop Until a = t + TimeValue("00:01:01")
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan