Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
708to712
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
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Focussteuerung bei ungebundenen Formularen

Focussteuerung bei ungebundenen Formularen
15.12.2005 12:46:41
Günther
Ich habe in Excel ein ungebundenes Userform (Eigenschaft ShowModal = False) mit mehreren Schaltflächen erstellt. Wie kann ich erreichen, dass der Code hinter den Schaltflächen am Ende den Focus wieder in die Excel Mappe zurücksetzt? (Das Formular soll natürlich geöffnet bleiben!)
Ganz konkret: Der Benutzer soll nachdem er mit der Maus auf die Schaltfläche geklickt hat, nach Ablauf des Makros mit den Cursortasten in der Mappe arbeiten können, OHNE vorher einmal in die Mappe klicken zu müssen, um dadurch den Focus vom Formular in die Mappe zu bringen.
Vielen Dank und viele Grüße
gg

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

Betreff
Datum
Anwender
Anzeige
AW: Focussteuerung bei ungebundenen Formularen
15.12.2005 13:24:10
Heiko
Hallo Günter,
also mit Bordmittelen habe ich es nicht hingekriegt, aber mit API:
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal _
lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" ( _
ByVal hwnd As Long) As Long

Private Sub CommandButton2_Click()
' Button in einem nicht modalen Userform.
Dim lngActiveW As Long
lngActiveW = FindWindow("XLMAIN", Application.Caption)
SetForegroundWindow lngActiveW
ActiveSheet.Cells(10, 10).Select
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Focussteuerung bei ungebundenen Formularen
15.12.2005 13:48:59
Günther
Danke Heiko - Bin schwer beeindruckt!
Mit ein wenig Googeln habe ich das Ganze für Word angepasst:
lngActiveW = FindWindow("OpusApp", ActiveWindow.Caption & " - " & Application.Caption)
... aber warum Word OpusApp heißt und zusätzlich zum Programmnamen auch den Dokumentnamen benötigt wird man als "Normalsterblicher" von Microsoft wohl auch nie erfahren...

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige