Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Fenster wechseln mit VBA
13.03.2015 20:10:03
Tobias
Hallo,
im Verlauf eines Makros öffne ich ein Windows Explorer Fenster mit:

Shell "Explorer.exe C:\test", vbNormalFocus
Später öffnet sich eine MessageBox. Die macht sich allerdings nur durch wildes Blinken in der Taskleiste bemerkbar und erscheint nicht im Vordergrund.
Mein Ansatz vor der MsgBox mit

Windows(MeineDatei).Activate
zur Arbeitsmappe zurückzukehren funktioniert nicht.
Wie kann ich wieder zurück zu meiner Arbeitsmappe wechseln?
Danke für eine Antwort!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fenster wechseln mit VBA
13.03.2015 20:21:33
Luschi
Hallo Tobias,
bei mir klappt das so:
MsgBox "Ich habe fertig!", 48 + 4096, "Oohaaa..."
Gruß von Luschi
aus klein-Paris
PS: Schau mal in die Vba-Hilfe zu MsgBox!

AW: Fenster wechseln mit VBA
14.03.2015 01:44:09
Tobias
Hallo Luschi
du hast meine Frage wohl nicht verstanden. Ich weiß schon wie MsgBox funktioniert. Mein Problem ist, dass diese nicht im Vordergrund angezeigt wird.
Mit der Shell-Funktion öffne ich ein Windows Explorer-Fenster, das von da an im Vordergrund steht. Die Excel-Arbeitsmappe ist dann im Hintergrund, während weitere Rechenschritte durchgeführt werden.
Kommt es dann zum Ausführen der MsgBox-Funktion, so wird die MessageBox vom Windows Explorer-Fenster verdeckt, weil das immer noch im Vordergrund steht. Ich suche also nach einer Möglichkeit meine Arbeitsmappe wieder in den Vordergrund zu bringen.

Anzeige
AW: Fenster wechseln mit VBA
14.03.2015 11:00:49
Luschi
Hallo Tobias,
das habe ich nicht bezweifelt, aber warum testest Du diesen Einzeiler nicht mal?
Und in der Vba-Hilfe zu 4096 steht:
vbSystemModal - 4096
An das System gebunden. Alle Anwendungen werden unterbrochen, bis der Benutzer auf das Meldungsfeld reagiert.
Gruß von Luschi
aus klein-Paris

AW: Fenster wechseln mit VBA
14.03.2015 18:28:24
Tobias
Hallo Luschi
ok ich war die Nacht wohl etwas vorschnell und hab nicht erkannt worauf du hinaus willst. Allerdings bringt mir auch vbSystemModal nichts.
Wenn die MsgBox mit deiner Zeile auf geht macht sie sich auch zunächst nur durch Blinken in der Taskleiste bemerkbar. Das Explorer-Fenster ist noch immer im Vordergrund. Der einzige Unterschied liegt darin, dass die MsgBox ab dem Zeitpunkt, an dem ich auf das blinkende Taskleistenelement klicke, immer im Vordergrund bleibt, bis ich bestätigt habe. Bei vbMsgBoxSetForeground passiert das gleiche.
Ich hab hier mal eine Beispieldatei, dann kannst du es nachvollziehen.
Der einzige folgende Code wird mit Strg+a ausgelöst. Lässt man die Wartezeit weg ist Excel übrigens schneller als Windows. Dann ist die MsgBox schon da bevor der Explorer auf ist

Sub Makro1()
Shell "Explorer.exe C:\test", vbNormalFocus
Application.Wait (Now + TimeValue("0:00:05"))
MsgBox "Ich habe fertig!", vbSystemModal, "Oohaaa..."
End Sub

Die Datei https://www.herber.de/bbs/user/96366.xlsm wurde aus Datenschutzgründen gelöscht


Anzeige
AW: Fenster wechseln mit VBA
14.03.2015 20:25:07
Luschi
Hallo Tobias,
dann greifen wir mal etwas tiefer in die Windows-Trickkiste:
https://www.herber.de/bbs/user/96367.xlsm
Gruß von Luschi
aus klein-Paris

AW: Fenster wechseln mit VBA
15.03.2015 14:19:47
Tobias
Hallo Luschi,
Super, Vielen Dank! So klappt es auch bei mir :-)
Gruß Tobias

7 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige