Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: talisch am April 21, 2016, 07:37:08 Vormittag

Titel: Office 2007: Eine MessageBox nach bestimmter Zeit schließen
Beitrag von: talisch am April 21, 2016, 07:37:08 Vormittag
Hallo zusammen,
ich bin neu hier und habe eine Frage zu einem nicht neuen Thema "Eine MessageBox nach bestimmter Zeit schließen".
Ich habe eine UserForm auf der sich verschiedene Buttons befinden.
Über einen dieser Buttons soll zu Beginn „Ihre“ MessageBox für 3s angezeigt werden.
Das klappt auch soweit, allerdings muss ich den Mauszeiger von oben genannten Button verschieben, es ist egal wohin, nur weg vom Button.
Wenn ich das nicht mache bleibt die MessageBox in der Anzeige und es geht somit nicht weiter.
Ein Experimentieren mit den Parametern der MessageBox bringt keine Besserung.

Wo könnten die Ursachen dafür liegen?

Ich bin für jeden Hinweis dankbar.

P.S.
Wenn ich das Codebeispiel über einen Button direkt von einem Tabellenblatt starte, funktioniert es einwandfrei.

 

Sub MessageBox_zeitgesteuert()
'** Dimensionierung der Variablen
Dim intAnz As Integer
Dim objShell As Object
Dim lngDauer As Long

'** Objektverweis auf die WScript.Shell setzen
Set objShell = CreateObject("WScript.Shell")

'** Anzeigedauer festlegen
lngDauer = 3

'** Anzeige der MessageBox mit Anzeigetext und Titelleiste
intAnz = objShell.Popup("Die Anzeigedauer beträgt " & lngDauer & " Sekunde/n", _
  lngDauer, "Inhalt der Titelleiste", vbOKOnly)
End Sub
Titel: Antw:Office 2007: Eine MessageBox nach bestimmter Zeit schließen
Beitrag von: maninweb am April 21, 2016, 09:16:08 Vormittag
Hallo,

Du könntest eine eigene UserForm bauen anstatt der MsgBox über das WScript-Objekt (was bei mir z.B. nicht funktioniert)
und in Deine UserForm folgenden Code einbauen. Das ist m.E. einfacher.

Code: Visual Basic
  1. Private Sub UserForm_Activate()
  2.   Application.Wait Now + TimeSerial(0, 0, 3)
  3.   Unload Me
  4. End Sub

Gruß
Titel: Antw:Office 2007: Eine MessageBox nach bestimmter Zeit schließen
Beitrag von: talisch am April 21, 2016, 19:51:17 Nachmittag
Hallo maninweb,

danke für die schnelle Antwort.
Habe gerade Dein Beispiel getestet und es funktioniert.
Der Code von heute morgen war leider fehlerhaft, ich bringe ihn hier noch einmal.
Vielleicht kannst Du Dir das noch einmal in einer ruhigen Minute anschauen.

Sub Nachricht_nach_Zeit_schließen()
   Dim Nachricht As Object
   Set Nachricht = CreateObject("WScript.Shell")
   Nachricht.Popup "Hallo Welt!", 1, "Titeltext"
   Set Nachricht = Nothing
End Sub

Erst einmal danke ...
Viele Grüße
Titel: Antw:Office 2007: Eine MessageBox nach bestimmter Zeit schließen
Beitrag von: maninweb am April 22, 2016, 15:31:10 Nachmittag
Hallo,

wie bereits implizit geschrieben, rate ich von der Verwendung externer Objekte ab,
so denn diese nicht zwingend notwendig sind. Das ist bei der MsgBox nicht der Fall.

Gruß
Titel: Antw:Office 2007: Eine MessageBox nach bestimmter Zeit schließen
Beitrag von: talisch am April 24, 2016, 10:13:54 Vormittag
Hallo,

alles klar werde also weiter mit der 2. UserForm arbeiten.
Noch mal danke für die Hilfe und vielleicht bis bald.
Viele Grüße ...
talisch