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

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: colinardo
colinardo 26.04.2013 aktualisiert um 14:08:08 Uhr
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
Mitglied: thomas1972
thomas1972 26.04.2013 um 20:57:01 Uhr
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?
Mitglied: thomas1972
thomas1972 26.04.2013 um 21:50:17 Uhr
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