Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1140to1144
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

Zuletzt aktives Fenster?

Zuletzt aktives Fenster?
t4z
Hallöchen,
Wunschvorstellung:
Es sind mehrere Fenster (nicht nur Excel) in der Taskleiste offen.
Aktiviert man ein bestimmtes Excel-Workbook, soll die darin befindliche Sub Workbook_Activate das zuletzt aktive Fenster ermitteln (Applikation und / oder Dateiname). Auf dieser Grundlage möchte ich eine bestimmte Entscheidung fällen.
IDEE:
Hält man ALT+TAB gedrückt, so steht die/ses zuletzt geöffnete Applikation/Fenster immer an genau der zweiten Stelle. Das muss man sich doch zunutze machen können ala altTab.userform.tabindex(2) o.ä.
Vielen Dank und Gruß, der t4z

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zuletzt aktives Fenster?
24.02.2010 20:28:34
Martin
Hallo,
eine Idee für einen "unsauberen" Lösungsansatz. Zum letzten aktiven Fenster gelangst Du mit:
SendKeys ("%{TAB}")
Wenn Du eine Lösung findest den Namen des aktiv geöffneten Fensters auszulesen, da könntest Du damit erst zum letzten Fenster wechseln, den Titelleistennamen auslesen und anschließend wieder zu Excel wechseln.
Viele Grüße
Martin
AW: Zuletzt aktives Fenster?
25.02.2010 15:09:02
Heiko
Hallo ?,
(ich liebe Menschen ohne Namen, das macht das Antworten so persönlich !!!)
als Ansatz für die Lösung siehe Datei im Anhang.
https://www.herber.de/bbs/user/68250.xls
Das reagieren auf den Fensterwechsel muß du noch selbst programmieren.
Das auslesen des Dateinamens ebenfalls.
Aber wenn du auf den Button drückst dann wird der Classname und der Fenstertitel des zuletzt geöffneten Fensters ausgegeben.
Ob du alle API und Variablen im Kopf brauchst mußt du selbst mal checken, habe das auf die schnelle aus einem alten Projekt zusammengebastelt.
Also einen Ansatz hast du, hübsch machen mußt du selbst.
Gruß Heiko
PS: Rückmeldung wäre nett.
Anzeige
AW: Zuletzt aktives Fenster?
01.03.2010 12:18:15
t4z
Hi Heiko,
habe deine Antwort erst jetzt gesehen, die Detailansicht via 'meine Beiträge' zeigt deine Antwort komischerweise nicht an (Beweis: https://www.herber.de/forum/archiv/1140to1144/t1141203.htm).
Vielen Dank, ich werde es mir direkt anschauen und dann Rückmeldung geben.
Gruß, der mit dem (Nick~)name t4z
AW: Zuletzt aktives Fenster?
01.03.2010 13:23:53
t4z
Hallo Heiko,
vielen lieben Dank, der Quelltext läuft. Allerdings ist das Ganze erst dann zuverlässig, wenn ich in der Funktion GetWindowList(bVisible) statt if lngi = 2 eine 3 verwende. Mit der 2 gibt er komischerweise immer das aktuell aktivierte bzw das Fenster mit dem aktuellen Fokus, also das Excel-Sheet mit dem Button aus. Aber mit der 3 gibt der Code immer das zuletzt geöffnete Fenster aus der globalen Task-Liste bzw Z-Reihenfolge aus. Die 2 ist für mich zwar auch logischer, aber wer weiss, warum das damit nicht funzt!?
Super, danke
Gruß, der t4z
BTW: Letzten Freitag hatte ich mich in MSDN rumgetrieben und dort in der user32-Lib nach Funktionen gesucht, die ich per Declare-Anweisung in mein Projekt einbinden kann. Unter anderem fand ich getWindow, getTopWindow und die Structure WindowPos. Nur leider weiss ich nicht, wie man die (beliebige) Functionen ordentlich / lauffähig einbindet. Du hast es offensichtlich geschafft. Kannst du mir einen Tipp geben, wie ich mir diese Fähigkeit aneignen kann? Das Problem, welches ich hatte, war, dass in MSDN Parameter Objekte von bestimmten Klassen sein sollten, die in VBA nicht verfügbar sind. Zum Beispiel ALTTABINFO.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige