Hallo Andreas,
ich meine, grundsätzlich ist das möglich, aber jetzt kommt das "Aber" (meine Meinung dazu)
Da Excel für die Zellen kein Mouseevent liefert, kann man das ganze nur in Verbindung mit einem Timer (am besten eine API-Timer mit <100 msec) lösen.
Man fragt alle 100 msec die Mausposition ab (API: GetCursorPos) und gleicht diese mit der Position der Zellen ab. Leider liefert die z.B. "Range("A1").Top nicht die Position auf dem Bildschirm, sondern innerhalb des Excelsheets. Um diese in Bildschirmkoordinaten (so wird die Mausposition geliefert) umzurechnen, was man ja zum Vergelich mit der Mausposition braucht, müssen die Excel-Fensterposition, die Headerdaten wie Ribbon, Bearbeitungsleiste, Zeilenüberschriften und evtl. Scrolling berücksichtigt werden. und eine ClientToScreen-Umwandung erfolgen.
Jetzt hast Du eine Vorstellung davon, welch ein Aufwand das ist.
Möchtest Du das immer noch, kann ich mich mal daran versuchen und in meine Bastelkiste gucken, könnte aber scheitern oder etwas dauern.
PS: Da fällt mir gerade ein, dass Excel das Vorhaben auch gleich wieder kaputt machen könnte (bis zu den nächten 100 msec), da es ja selbst die Mausshapes setzt, wenn bestimmte Aktionen einsetzen.
vielie Grüße
Karl-Heinz
|