Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1612to1616
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
Inhaltsverzeichnis

Eventroutine schließt falsches Fenster / 2 Monitor

Eventroutine schließt falsches Fenster / 2 Monitor
09.03.2018 14:33:19
Thomas
Hallo VBA Profis,
ich habe hier ein Problem das mich ziemlich nervt und würde mich freuen wenn mir hier jemand weiterhelfen könnte.
Ich habe eine Eventroutine für App_WorkbookBeforeClose geschrieben die das Schließen von Excel-Fenstern abfängt. Solange ich nur einen Monitor an meinem Laptop betreibe funktioniert alles reibungslos. Wenn ich allerdings den Dual Monitor Betrieb verwende scheint etwas durcheinander zu geraten:
Fall1)
Sagen wir ich habe Workbook1 auf dem linken Monitor und Workbook2 auf dem rechten. Worbook1 ist das aktive Fenster. Schließe ich nun Workbook1 wird die Routine App_WorkbookBeforeClose angesprungen und der Name von Workbook1 entsprechend übergeben.
Fall2)
Anordnung wie Fall1. Statt WB1 zu schließen aktiviere ich erst WB2 und schließe es (mit dem Kreuz rechts oben). Wie bei Fall 1 wird die Eventroutine angesprungen und der Name von WB2 übergeben. Soweit so gut.
jetzt kommt der Problemfall 3)
Anordnung wie gehabt. WB1 ist links und aktiv, WB2 rechts (inaktiv). Statt nun WB2 erst zu aktivieren klicke ich nur das Schließen Kreuz rechts oben von WB2.
Die Eventroutine wird sofort angesprungen, übergibt jetzt aber den Namen von WB1, dem aktiven, aber leider falschen Fenster. Es sieht so aus als würde dem Schließen von WB2 mit der Maus keine Fensteraktivierung vorausgehen und damit der falsche Name übergeben.
Hat jemand eine Idee was man da machen kann bzw. wie man das abfangen kann?
Danke schonmal für Eure Hilfe und viele Grüße,
Thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eventroutine schließt falsches Fenster / 2 Monitor
09.03.2018 15:48:50
Nepumuk
Hallo Thomas,
zeig mal die Routine.
Gruß
Nepumuk
AW: Eventroutine schließt falsches Fenster / 2 Monitor
12.03.2018 18:22:51
Thomas
Hallo Nepumuk,
hat jetzt leider ein wenig gedauert da ich die Dateien erst entsprechend vorbereiten musste.
Also, WB1.xls ist eine Arbeitsmappe die in der Originalversion Daten für die zweite Arbeitsmappe (hier Window_test.xlsm) zur Verfügung stellt und mit Windows("WB1.xls").Visible = false unsichtbar geschaltet wird. Falls man WB1.xls trotzdem sichtbar braucht gibt es einen Command Button in der Hauptmappe Window_test.xlsm mit der WB1.xls sichtbar geschaltet werden kann. Um ein versehentliches Schließen von WB1.xls zu verhindern enthält Window_test.xlsm die Event-Routine App_WorkbookBeforeClose die beim Schließen von WB1.xls das Fenster nur unsichtbar schaltet.
Das beschriebene Problem (Fall 3) tritt übrigens auch auf einem Monitor auf wenn beide Dateien nebeneinander offen sind. Und so lässt sich das Problem bei mir reproduzieren:
1) WB1.xls in Excel öffnen
2) Window_test.xlsm öffnen
3) Beide Dateien nebeneinander auf dem Bildschirm positionieren
4) Mit dem CommandButton von Window_test.xlsm WB1.xls unsichtbar schalten
5) Mit dem CommandButton von Window_test.xlsm WB1.xls wieder sichtbar schalten
6) WB1.xls sollte jetzt das Fenster im Vordergrund sein. Wenn nicht mit der Maus das Fenster aktivieren.
7) Mit der Maus direkt auf den Schließen-Knopf von Window_test.xlsm klicken (ohne das Fenster vorher zu aktivieren!).
8) Es wird WB1.xls unsichtbar geschaltet obwohl auf den Schließen-Knopf von Window_test.xlsm geklickt wurde.
Der Effekt tritt bei mir nur auf wenn WB1.xls vorher mind. einmal unsichtbar und wieder sichtbar geschalten wurde. Ich habe so ziemlich alles probiert, komme aber nicht auf den Fehler.
Danke für Deine Hilfe,
Thomas
PS:
1) WB1.xls: https://www.herber.de/bbs/user/120369.xls
2) Window_test.xlsm: https://www.herber.de/bbs/user/120370.xlsm
3) Ich arbeite übrigens mit Excel 2016.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige