Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Sich selbst schließende Msgbox mit OK u. Abbrechen | Herbers Excel-Forum


Betrifft: Sich selbst schließende Msgbox mit OK u. Abbrechen von: Martin S.
Geschrieben am: 11.01.2010 20:06:13

Hallo,

folgenden Code habe ich gefunden, um eine MsgBox nach einer bestimmten Zeit (in dem Fall 10 Sekunden) wieder schließen zu lassen:

Sub MsgZeit()
'   Blendet eine Msgbox nach 10 Sekunden automatisch wieder aus
'   von K.Rola
'   kein Verweis notwendig
    Const bytZeit As Byte = 10
    Dim objWSH As Object, intMSG As Integer
    Set objWSH = CreateObject("WScript.Shell")
    intMSG = objWSH.Popup("Ich bin in " & bytZeit & " Sekunden verschwunden!" & Space(10),  _
bytZeit, "gebe bekannt...")
    Set objWSH = Nothing
End Sub
Gibt es eine Möglichkeit, dass ich neben dem OK-Button noch einen Abbrechen (Cancel)-Button in die MsgBox integriere und das Ergebnis abfragen kann? Ich möche, dass der Nutzer die Chance erhält einen zeitaufwendigen Vorgang abzubrechen, bevor dieser automatisch erfolgt?

Viele Grüße

Martin

  

Betrifft: AW: Sich selbst schließende Msgbox mit OK u. Abbrechen von: Josef Ehrensberger
Geschrieben am: 11.01.2010 20:16:09

Hallo Martin,

Sub MsgZeit()
  ' Blendet eine Msgbox nach 10 Sekunden automatisch wieder aus
  ' von K.Rola
  ' kein Verweis notwendig
  Const bytZeit As Byte = 3
  Dim objWSH As Object, intMSG As Integer
  
  Set objWSH = CreateObject("WScript.Shell")
  
  intMSG = objWSH.Popup("Ich bin in " & bytZeit & " Sekunden verschwunden!" & _
    Space(10), bytZeit, "gebe bekannt...", 1)
  
  If intMSG = 2 Then
    MsgBox "Abbrechen"
  Else
    MsgBox "OK"
  End If
  
  Set objWSH = Nothing
End Sub


Infos zum letzten Parameter "Format" findest du z.B. hier: DevGuru


Gruß Sepp



  

Betrifft: AW: Sich selbst schließende Msgbox mit OK u. Abbrechen von: Hajo_Zi
Geschrieben am: 11.01.2010 20:26:26

Halo Martin,

versuch es so.

Option Explicit

Sub MsgZeit()
'   Blendet eine Msgbox nach 10 Sekunden automatisch wieder aus
'   von K.Rola
'   kein Verweis notwendig
    Const bytZeit As Byte = 10
    Dim objWSH As Object, intMSG As Integer
    Set objWSH = CreateObject("WScript.Shell")
    intMSG = objWSH.Popup("Ich bin in " & bytZeit & " Sekunden verschwunden!" & Space(10), _
        bytZeit, "gebe bekannt...", vbOKCancel + vbQuestion)
    Set objWSH = Nothing
End Sub
Gruß Hajo


  

Betrifft: Vielen Dank Euch beiden, so ist es super! von: Martin S.
Geschrieben am: 11.01.2010 21:11:08

Vielen Dank Euch beiden, so ist es super!


  

Betrifft: Zeit ablaufen lassen von: Karl
Geschrieben am: 11.01.2010 21:37:44

Hallo,



ich habe gerade diesen Beitrag gefunden. Funktioniert echt super! Hat man auch die Möglichkeit, dass die Zeit rückwärts auf der MsgBox abläuft (10, 9, 8....)?



Gruß Karl


  

Betrifft: Weitere Frage: Geht es auch mit Countdown? von: Martin S.
Geschrieben am: 11.01.2010 21:54:51

Obwohl meine eigentlich Forumsfrage bereits erfolgreich beantwortet wurde, schließe ich mich der Frage von Karl an uns setzte den Status auf "Frage noch offen". Wäre ein Countdown in der MsgBox eventuell wirklich möglich? Das wäre ja spitze, wenn das auch noch ginge.

Viele Grüße

Martin


  

Betrifft: AW: Weitere Frage: Geht es auch mit Countdown? von: Ramses
Geschrieben am: 11.01.2010 22:25:44

Hallo

Zeig statt der MsgBox eine UF an mit einem Textfeld in das du die Uhrzeit reinschreibst.
Diese kannst du ja rekursiv jede Sekunde aufrufen und aktualisieren.

gruss Rainer


  

Betrifft: AW: Weitere Frage: Geht es auch mit Countdown? von: Martin S.
Geschrieben am: 11.01.2010 22:32:52

Hallo Rainer,

ich hatte schon vermutet, dass das nur über eine UserForm realisiert werden kann. Die MsgBox-Lösung gefällt mir ganz gut, so wichtig ist der Countdown nun auch wieder nicht.

Viele Grüße

Martin


Beiträge aus den Excel-Beispielen zum Thema "Sich selbst schließende Msgbox mit OK u. Abbrechen"