Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

User Form im Vordergrund

User Form im Vordergrund
28.09.2004 07:20:20
paulst
Hallo zusammen,
ich hab da folgendes Problem. In Excel habe ich ein UserForm Programmiert, mit dem ich gewisse Eingaben Tätige. Jetzt stehen die Daten für die Eingabe in einer anderen Windows-Anwendung. Mein Frage ist nun:
Besteht die Möglichkeit das UserForm dazu zu bringen ständig im Vordergrund zu bleiben, auch wenn ich in eine andere Windows-Anwendung wechsle als Excel?
Über eine schnelle Antwort wäre ich sehr dankbar.
Viele Grüße
Thorsten

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: User Form im Vordergrund
Oberschlumpf
Guten Morgen Thorsten
Schau Dir mal dieses Bsp an:
https://www.herber.de/index.html?https://www.herber.de/forum/archiv/388to392/t388570.htm
Aber ich glaube trotzdem nicht, dass es möglich ist, ein anderes Programm anzuklicken, und trotzdem nur die Userform im Vordergrund zu haben.
Excel ist der Container für alles, was darain passiert.
Wenn also das obige Bsp richtig von Dir eingesetzt wird, wird vermutlich nicht nur das Userform sondern auch die Excel-Applikation im Vordergrund stehen.
Wenn Du aber gut auch im reinen Visual Basic wärst, und es schaffen würdest, "Dein" Excel da rein zu bringen, dann is das mit dem immer im Vordergrund kein Prob.
Viel Erfolg wünscht Dir....
...ein anderer Thorsten :-)
Anzeige
noch offen..o.T.
Oberschlumpf
Jetzt nicht mehr ...
28.09.2004 10:29:57
Axel
Hallo Thorsten,
setze folgenden Code in das Klassenmodul der Userform.
Gruß
Axel


Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
   ByVal lpClassName As String, _
   ByVal lpWindowName As String _
   ) As Long
Private Declare Function SetWindowPos Lib "user32" ( _
   ByVal hwnd As Long, _
   ByVal hWndInsertAfter As Long, _
   ByVal As Long, _
   ByVal As Long, _
   ByVal cx As Long, _
   ByVal cy As Long, _
   ByVal wFlags As Long _
   ) As Long
Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40
Private Sub UserForm_Activate()
   Dim hwnd As Long
   
   ' Fensterhandle für die Userform ermitteln
   hwnd = FindWindow _
           (lpClassName:=IIf(Val(Application.Version) > 8, _
                         "ThunderDFrame", "ThunderXFrame"), _
            lpWindowName:=Me.Caption)
   
   If (hwnd) Then
      ' Userform TopMost setzen
      SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
         SWP_NOACTIVATE Or SWP_NOMOVE Or SWP_NOSIZE
   End If
   
End Sub
Anzeige
AW: Jetzt nicht mehr ...
28.09.2004 10:39:42
Oberschlumpf
Hi Axel
Wenn auch beim Anklicken der Userform sofort das Excel-Fenster wieder erscheint, ist Dein Vorschlag genial :-)
Klasse, hab ich wieder was dazu gelernt.
Bye
der andere Thorsten ;-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige