Microsoft Excel

Herbers Excel/VBA-Archiv

Popup Fenster inkl auto schliesen

Betrifft: Popup Fenster inkl auto schliesen von: Sven
Geschrieben am: 16.09.2020 11:20:53

Moin an alle,

ich verwende den folgenden Code um einen Popup Fenster nach 1 Sekunden automatisch zu schließen. Jedoch schließt es erst nach - Laut Stoppuhr - 3,8 Sekunden. Kann mir einer sagen woran das liegt und ob ich die Zeit eventuell mit einer Sleep Funktion verbinden kann, sodass ich auf Millisekunden genau die Zeit wählen kann? Danke

Sub Popup()
Const bytZeit As Byte = 1
Set Nachricht = CreateObject("Wscript.shell")
Nachricht.popup "Daten werden aktualisiert, einen Moment Geduld...", bytZeit
Set Nachricht = Nothing End Sub

Betrifft: AW: Popup Fenster inkl auto schliesen
von: Nepumuk
Geschrieben am: 16.09.2020 11:44:54

Hallo Sven,

teste mal:

Option Explicit

Private Declare PtrSafe Function MessageBoxTimeoutA Lib "user32.dll" ( _
    ByVal hWnd As LongPtr, _
    ByVal lpText As String, _
    ByVal lpCation As String, _
    ByVal uType As Long, _
    ByVal wLanguageId As Integer, _
    ByVal dwMiliseconds As Long) As Long

Private Const MB_TIMEOUT As Long = &H7D00

Public Sub test()
    
    Dim lngReturn As Long
    
    lngReturn = MessageBoxTimeoutA(Application.hWnd, "Hallo", _
        "TimeoutTest", vbYesNo Or vbInformation, 0, 5000) '5000 = 5 Sekunden
    
    Select Case lngReturn
        Case MB_TIMEOUT
            Debug.Print "TimeOut"
        Case vbOK, vbYes
            Debug.Print "Ok, Ja"
        Case vbAbort, vbCancel
            Debug.Print "Abrechen"
        Case vbNo
            Debug.Print "Nein"
        Case vbRetry
            Debug.Print "Wiederholen"
        Case Else
            Debug.Print lngReturn
    End Select
End Sub

Gruß
Nepumuk

Betrifft: AW: Popup Fenster inkl auto schliesen
von: volti
Geschrieben am: 16.09.2020 11:51:22

Hallo Max,

den kannte ich jetzt noch nicht. Danke für den Hinweis.. :-)

VG KH

Betrifft: AW: Popup Fenster inkl auto schliesen
von: volti
Geschrieben am: 16.09.2020 11:56:21

Nachtrag:

Die Funktion steht auch nicht in meiner API-Liste bzw. API-Viewer. Ist der neu oder wo hast Du den her, wenn man fragen darf?

VG KH

Betrifft: AW: Popup Fenster inkl auto schliesen
von: Nepumuk
Geschrieben am: 16.09.2020 12:06:05

Hallo Karl-Heinz,

das habe ich im Internet gefunden.

Gruß
Nepumuk

Betrifft: AW: Popup Fenster inkl auto schliesen
von: Sven
Geschrieben am: 16.09.2020 12:07:06

Wow Nepumuk, das ist schon sehr advanced! Läuft absolut sauber. Danke

Betrifft: AW: Popup Fenster inkl auto schliesen
von: volti
Geschrieben am: 16.09.2020 11:48:57

Hallo Sven,

bei mir dauert Dein PopUp genau eine Sekunde, auch bei mehrfachem Aufrufen.
Ich verwende diese PopUp's aber auch und in der Tat habe ich ab und zu auch den Eindruck, dass es auch mal länger als angegeben dauert.

Lösung habe ich leider keine.

PS: Da der Code während der Anzeige nicht weiterläuft, kann man da m.E. auch (zu mindestens nicht mit einfachen Mitteln) nichts mit Sleep (z.B. Close-Befehl senden) machen.

viele Grüße
Karl-Heinz

Beiträge aus dem Excel-Forum zum Thema "Popup Fenster inkl auto schliesen"