thomas1972
Goto Top

Funktion MSGBOX bzw. WshShell.PopUp automatisch sclhießen lassen ( ohne verzögerung

Hallo, ich lasse in einem VBA per Loop diverse Aktionen durchführen.

In dieser Schleife wollte ich ein Informationsfenster einbauen ( nicht per Formular )


' Forschritt anzeigen  
Dim WshShell As Object
Dim ret As Integer
Set WshShell = CreateObject("WScript.Shell")  
ret = WshShell.PopUp("Es wird " & sFile & " eingelesen", 1, "Status", 64)  

Leider bekomme ich es nicht hin, dass das Fenster sich sofort schließt
Es funktioniert nur das Fenster mit Interval > 1 sec automatisch zu bestätigen.

Vielleicht kann mir jemand einen Tipp mit der Funktion MSGBOX bzw. WshShell.PopUp geben,
dass sobald das Fenster "aufpoppt", sofort ohne verzögerung direkt wieder schließen zu lassen (z.b. per send key "ESC", nur leider funktionier der regl. Sendkeys "{ENTER}" nicht. )

Vielleicht kann mir hier jemand einen Tipp geben

Content-Key: 205705

Url: https://administrator.de/contentid/205705

Printed on: April 25, 2024 at 15:04 o'clock

Member: colinardo
colinardo Apr 26, 2013 updated at 12:08:08 (UTC)
Goto Top
Hallo Thomas1972,
wieso soll dann überhaupt ein Popup angezeigt werden wenn es dann sowieso keiner mehr lesen kann ?
Du willst wahrscheinlich eine Fortschrittsanzeige realisieren. Das könntest du, wenn es eine Office-Anwendung ist, in der Statusleiste einblenden, und zwar so:
Application.StatusBar = "Deine Meldung"
und ganz am Ende noch ein
Application.StatusBar = ""
damit die Statusleiste wieder freigegeben wird.
Grüße Uwe
Member: thomas1972
thomas1972 Apr 26, 2013 at 18:57:01 (UTC)
Goto Top
Hallo Uwe,

vielen dank für die Rückmeldung.
Ich setzte Access 2010 ein.
Hier erscheint immer der Hinweis:

Microsoft Visual Basic for Applications
Fehler beim Kompilieren:

Methode oder Datenobjekt nicht gefunden
OK Hilfe

Kann es sein, dass Access diese "Statusbar" nicht besitzt?
Member: thomas1972
thomas1972 Apr 26, 2013 at 19:50:17 (UTC)
Goto Top
Anscheinend hat z.b. Excel und Access unterschiede in VBA

für ACCESS lautet dieses

SysCmd acSysCmdSetStatus, "Test" -> Test in Statusbar anzeigen
SysCmd acSysCmdClearStatus -> Statusbar wieder löschen