Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

frage zu doevents

frage zu doevents
10.09.2008 08:40:46
chris
Hallo und guten morgen zusammen,
ich hätte mal eine frage. Es geht um Doevents.
Wollte es mir heute einmal anschauen und habe dazu im Forum einen Bitrag gefunden.
https://www.herber.de/forum/archiv/904to908/t904160.htm
Jetzt wollte ich ein bichen spielen ... Und habe mir gedacht ich versuche das einmal auf das oder wie wait funtion anzuwenden.
Aber leider kommt die Sanduhr.Im Beispiel wird auch 5 sekunden gewartet und mit dem doevents ohne die Sanduhr.
Was mache ich hier falsch ?
Vielen Dank für eure Hilfe gruß Chris

Sub MeldungStatusBar()
Dim Text As String
Dim TextAlt As Variant
TextAlt = Application.StatusBar
DoEvents
Text = "Eine Meldung für 5 Sekunden!"
DoEvents
Application.StatusBar = Text
DoEvents
newHour = Hour(Now())
DoEvents
newMinute = Minute(Now())
DoEvents
newSecond = Second(Now()) + 5
DoEvents
waitTime = TimeSerial(newHour, newMinute, newSecond)
DoEvents
Application.Wait waitTime
DoEvents
If TextAlt = "FALSE" Then
Application.StatusBar = False
Else
Application.StatusBar = TextAlt
End If
End Sub


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: frage zu doevents
10.09.2008 08:54:00
Ramses
Hallo
"DoEvents" ist kein Ersatz für "Wait" oder "Sleep"
DoEvents verarbeitet nur während der Makroausführung Berechnungsanfragen aus der Tabelle, oder erlaubt das Weiterarbeiten, in beschränktem Masse in der Tabelle
Folgende Beispiele mit je 10 Sekunden Dauer
Option Explicit

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub Wait_Ohne_Tabelleneingabe()
    Dim i As Long
    For i = 1 To 10
        Application.Wait (Now + TimeSerial(0, 0, 1))
        Debug.Print Now
    Next i
End Sub

Sub Wait_Mit_Tabelleneingabe()
    Dim i As Long
    For i = 1 To 10
        DoEvents
        Application.Wait (Now + TimeSerial(0, 0, 1))
        Debug.Print Now
    Next i
End Sub


Sub Sleep_Ohne_Tabelleneingabe()
    Dim i As Long
    For i = 1 To 10
        Sleep 1000
        Debug.Print Now
    Next i
End Sub

Sub Sleep_Mit_Tabelleneingabe()
    Dim i As Long
    For i = 1 To 10
        DoEvents
        Sleep 1000
        Debug.Print Now
    Next i
End Sub

Während der "Mit"-Makros, kannst du in beschränktem Masse z.B. in der Tabelle weiterarbeiten oder das Ergebnis von externen Programmen anfordern, z.b. das Laden einer Seite im IE
Gruss Rainer
Anzeige
AW: frage zu doevents
10.09.2008 09:24:51
chris
Ohh jee vielen Dank Rainer,
ist irgendwie zu kompliziert für mich.
Vielleicht weil ich auch kein beispiel habe wozu ich es sinnvoll nutzen kann,
Trotzdem vielen Dank für deine Antwort !
gruß Chris
AW: frage zu doevents
10.09.2008 09:08:00
Martin
Hallo,
bei der "WAIT"-Funktion, wird Dein System für 5 Sekunden blockiert. Nimm lieber die OnWait-Funktion:
Public TextAlt As Variant

Sub MeldungStatusBar()
Dim Text As String
TextAlt = Application.StatusBar
Application.StatusBar = "Eine Meldung für 5 Sekunden!"
Application.OnTime Now + TimeValue("00:00:05"), "Reset_Statusbar"
End Sub



Sub Reset_Statusbar()
If TextAlt = "FALSE" Then
Application.StatusBar = False
Else
Application.StatusBar = TextAlt
End If
End Sub


Viele Grüße

Anzeige
AW: frage zu doevents
10.09.2008 09:26:52
chris
Danke auch Dir vielmals.
Mir ging es hier jetzt nicht um welche Wait methode ich verwenden soll sondern um den doevents und den sinnvollen richtigen Einsatz.Und deshalb habe ich jetzt mal wait genommen damit ich es vielleicht verstehe.
Danke auch Dir !!!
gruß Chris

29 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige