1.7k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,
ich habe folgendes Problem.
Popup erscheint zu früh !!

Private Sub Workbook_Open()
Dim LoI As Long
Dim WsShell As Object
Set WsShell = CreateObject("WScript.Shell")
LoI = WsShell.Popup("Hier dein Anzeigetext", 3, "Titel der MsgBox")
End Sub

Beim starten der Datei öffnet sich sofort das Popup. Excel bleit stehen und öffnet sich erst wenn ich mit OK bestätigt habe. Kann mir bitte jemand weiterhelfen.
Besten dank

5 Antworten

0 Punkte
Beantwortet von
Hallo,

also, dass sich eine Datei öffnet bevor sich Excel öffnet ist eigentlich nicht möglich. Zumindest dann nicht wenn es sich um eine Excel-Datei handelt. Bei mir funktioniert dein Code wie gewünscht, obwohl er etwas ungewöhnlich ist. Excel besitzt eine eigene Messagebox über die du das nochmal versuchen kannst.

Private Sub Workbook_Open()
Dim LoI As Long
LoI = MsgBox("Hier dein Anzeigetext", 3, "Titel der MsgBox")
End Sub


Sollte es dann immer noch nicht klappen, startet Excel bei dir wahrscheinlich erstmal nur im Hintergrund. das kannst du dann mit
Application.visible=True vorzeitig sichtbar machen.

Dein Vorgehen lässt vermuten, dass du Excel von einem anderen Programm aus starten willst. Falls dem so ist, schau dir mal das hier an.

Gruß Mr. K.
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo,
bei mir funktioniert es mit Excel 2007.
Excel öffnet sich und das Popup wird angezeigt, nach dem O.K Button kann man die Seite anklicken.

Gruß
fedjo
0 Punkte
Beantwortet von
Hallo, ich wollte ein Popup das sich selbst wieder schließt.
Also eine kurze Mitteilung.
Das Beispiel von Mr. K hat funktioniert.
Was muss ich eingeben das sich das Fenster in ca. 2 Sekunden selbständig schließt.

Besten dank im voraus
0 Punkte
Beantwortet von
Sag das doch gleich. Das ist mit einer normalen MessageBox nicht möglich. Die ist so konstruiert, dass der Benutzer auf die Meldung reagieren muss, bevor der Code weiterlaufen kann. Um deinem Wunsch zu entsprechen, fällt mir spontan nur folgende Alternative ein:

Erstelle ein Userform über Menüpunkt Einfügen --> UserForm
füge dort ein Label hinzu, wo du deinen Text hinterlegst.
Ändere nun deinen Code wie folgt ab:

Private Sub Workbook_Open()

UserForm1.Show vbModeless
Application.Wait Now + TimeValue("0:00:05")
Unload UserForm1

End Sub

Beim Öffnen der Datei erscheint die Meldung nun für 5 Sekunden bevor sie verschwindet.

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo zusammen,
es funktioniert !!.
Besten dank
Grüße aus Offenburg
Lg Achim
...