vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Problem mit Countdown 
Autor: BrickTop
Datum: 29.04.04 13:55

Hallo Xaverl,

also unter VBA gibt es von Haus aus kein Timer-Objekt. Das könnte man über die API SetTimer realisieren, würde ich aber (wenn es nicht unbedingt sein muss) nicht machen, da Du ganz genau drauf achten musst, dass das Timerevent auch wieder entfernt wird etc. kann schnell mal zu abstürzen bzw. Problemen führen. Also einfacher geht es z.B. so:

Du benötigst 2 CommandButton's und 1 UserForm um das Beispiel auszuprobieren. Danach kopierst Du folgenden Code in den Codeteil der Form.

Private Sub Warten()
Dim StartTime As Long
Dim Pausenlaenge As Long
 
 Pausenlaenge = 10    ' Speichert die Pausenlänge 10 = 10 Sekunden
 StartTime = Timer       ' Startzeit merken
 
 ' Die Schleife wird solange durchlaufen, bis die 10 Sekunden erreicht sind
 ' Timer liefert die Sekunden, die seit Mitternacht vergangen sind
 ' Damit die Schleife auch abgebrochen wird, wenn der User auf einen der beiden
 ' Button's geklickt hat, würde ich ein Text in die TAG Eigenschaft des Button's
 ' beim Klicken schreiben und in der Schleife abfragen.
 
  Do While Timer < StartTime + Pausenlaenge
   DoEvents  '  Steuerung an das OS übergeben (F1=Hilfe *G*)
    If CommandButton1.Tag = "WEITER" Then
     CommandButton1.Tag = vbNullString  ' Bricht die Schleife ab, sobald der 
     ' User ein
     Exit Do  ' Button geklickt hat. um den nachfolgenden Code auszuführen
    End If
  Loop
 
  MsgBox "Weiterer Code wird ausgeführt"
  ' .. weiteren Code ausführen
  ' ..
End Sub
 
Private Sub CommandButton1_Click()
 MsgBox ("1")
 CommandButton1.Tag = "WEITER"
End Sub
 
Private Sub CommandButton2_Click()
 MsgBox ("2")
 CommandButton1.Tag = "WEITER"
End Sub
 
Private Sub UserForm_Activate()
 Warten
End Sub
Man kann den obigen Code noch viel weiter ausbauen und auch ein wenig eleganter lösen, jedoch sollte es wohl für das erste mit der obigen Methode reichen. Wie Du eine Form aus Excel heraus aufrufst weisst Du vermutlich (Ansonsten bitte fragen).

Viel Erfolg beim proggen,
Gruß
BrickTop

_________________________________________________________________________________________________
Internet-Adressen innerhalb des (..) WWW beginnen stets mit der Buchstabenfolge http://www. (LG Duisburg, AZ 8 O 219/99)

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit Countdown783Xaverl27.04.04 12:48
Re: Problem mit Countdown601LordMaceWindu27.04.04 14:32
Re: Problem mit Countdown621Xaverl27.04.04 15:05
Re: Problem mit Countdown571Master27.04.04 15:37
Re: Problem mit Countdown578Xaverl27.04.04 15:39
Re: Problem mit Countdown579Master27.04.04 15:41
Re: Problem mit Countdown557TCPR29.04.04 08:38
Re: Problem mit Countdown686BrickTop29.04.04 13:55

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel