Maus im Dialogfenster belassen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 2000
nach unten

Betrifft: Maus im Dialogfenster belassen
von: Hubert
Geschrieben am: 06.05.2002 - 09:37:58

Hallo Forum-Mitglieder,

ich möchte bei aktivem Dialogfenster vermeiden, dass der Mauszeiger das Dialogfenster verlässt. Im Recherche-Bereich hab ich hierzu weder unter maus, mouse, dialog noch userform was gefunden. Ist das irgendwie möglich?


nach oben   nach unten

Re: Maus im Dialogfenster belassen
von: Hans W. Herber
Geschrieben am: 06.05.2002 - 10:33:31

Hallo Hubert,

über das MouseMove-Ereignis läßt sich zwar die Mausposition auslesen, es gibt aber über VBA-Befehle keine Möglichkeit, sie zu setzen.
Am Rande: Unter Einsatz von API-Funktionen läßt sich die Mausposition auslesen und auch setzen, das wird auf einer UserForm aber nicht wunschgemäß funktionieren. Siehe folgenden Text:
https://www.herber.de/mailing/157101h.htm

hans

nach oben   nach unten

Re: Maus im Dialogfenster belassen
von: Hubert
Geschrieben am: 06.05.2002 - 10:53:21

Danke lieber Hans für den Hinweis,

das Beispiel im Link habe ich auch gefunden, konnte es aber auf "meinen Fall" nicht anwenden. Das Problem mit dem besagten Dialog ist, dass er modal definiert ist und auch so funktioniert, bis ich einen Dateiinhalt aus einer anderen Mappe in mein Programm einlese. Hat der User den Dateiinhalt importiert, reagiert die Arbeitsmappe (bei aktivem "Hauptdialog") plötzlich auf Mausereignisse und ich bekomme einen Laufzeitfehler -2147417848(80010108) "Das Objekt wurde getrennt, oder so...

Bis zum Zeitpunkt des Dateiinhalt importierens passiert das nicht, sprich die Mappe reagiert nur auf Mausereignisse im (modalen) Dialog. Ich finde den Fehler nicht und wollte eben vermeiden, dass der User den Dialog verlassen kann...

Kommt Dir so eine Situation irgendwie bekannt vor? Gibt's eine Abhilfe?

Tausend Dank im voraus für eine Antwort


nach oben   nach unten

Re: Maus im Dialogfenster belassen
von: Hans W. Herber
Geschrieben am: 06.05.2002 - 11:34:39

Hallo Hubert,

das Problem ist mir bekannt, ich habe es in der April-Ausgabe des Excel-Tutorials mit anderen nicht sehr bekannten UserForm-Gegebenheiten unter "Focus auf UserForm zurücksetzen" behandelt.
Die Lösung liegt in einem API-Aufruf.

hans

nach oben   nach unten

Re: Maus im Dialogfenster belassen
von: Hubert
Geschrieben am: 06.05.2002 - 12:23:20

Danke, funktioniert perfekt bis auf eine Kleinigkeit. Nachdem ich den Dateiinhalt geladen und diesen "SetForegroundWindow gethandle" aufgerufen habe ist es möglich im aktuellen Workbook die Arbeitsblätter anzuklicken. Das ist direkt nach dem Start meines "Programmes" aber unterbunden gewesen. Ich möchte gerne, dass, solange der Hauptdialog eingeblendet ist, auch keine Arbeitsblattselektierung möglich ist.

Geht das?

Nochmal vielen Dank an dieser Stelle für Deine Hilfe.


nach oben   nach unten

Re: Maus im Dialogfenster belassen
von: Hans W. Herber
Geschrieben am: 06.05.2002 - 14:05:40

Hallo Hubert,

blende nach dem Öffnen die Tabs aus:
ActiveWindow.DisplayWorkbookTabs = False

und nach dem Klick von btnOK wieder ein.

hans

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Maus im Dialogfenster belassen"