Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Ungebundene Userform immer im vordergrund
18.06.2008 00:16:17
stefan
Hallo
ich starte eine Userform bei der ich im Eigenschaftsfenster ShowModal auf False gestellt habe.
Excel minimier ich mit mit "Application.WindowState = xlMinimized" oder blende es mit "Application.Visible=False"
ganz aus.
Das funktioniert soweit, aber das Problem ist nun ,das die Userform von anderen Programmen(zb.IE oder SAP) verdeckt werden kann.Was muß ich eingeben damit die/das UserForm immer im Vordergrund bleibt?
Vielen dank schon mal im vorraus.
mfg stefan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ungebundene Userform immer im vordergrund
18.06.2008 00:33:27
Johannes
Hallo Stefan,
Quelle: Nepumuk @office-loesung.de ... und fuer gut befunden. :-)

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 X As Long, _
ByVal Y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
Private Enum SWP_Flags
SWP_NOSIZE = &H1
SWP_NOMOVE = &H2
SWP_NOACTIVATE = &H10
SWP_SHOWWINDOW = &H40
End Enum
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Sub UserForm_Activate()
Call prcSetForeground
End Sub
Private Sub prcSetForeground()
SetWindowPos GetHandle, HWND_TOPMOST, 0&, 0&, 0&, 0&, _
SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOACTIVATE Or SWP_SHOWWINDOW
End Sub
Private Sub prcSetBackground()
SetWindowPos GetHandle, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, _
SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOACTIVATE Or SWP_SHOWWINDOW
End Sub
Private Function GetHandle() As Long
Select Case Val(Application.Version)
Case 8 'Office 97
GetHandle = FindWindow("ThunderXFrame", Me.Caption)
Case Else 'ab Office 2000
GetHandle = FindWindow("ThunderDFrame", Me.Caption)
End Select
End Function


Anzeige
AW: Ungebundene Userform immer im vordergrund
18.06.2008 00:54:10
stefan
Hallo Johannes
danke für deine Mühe,aber es klappt nicht...wo muß ich den code reinschreiben /kopieren arbeitsblatt?tabellenblatt?modul? Ich hab leider kaum ahnung von VBA.
Danke im vorraus
mfg stefan

AW: Genial Johannes
18.06.2008 01:35:11
stefan
hab es hinbekommen,doppelklick auf die userform und dort eingfügt....DANKE!!!...
nur verstehe ich nicht warum mir der projekt-explorer diese ebene nicht anzeigt,klick ich auf tabellenblatt oder modul etc. bekomm ich die codes angezeigt... klick ich auf userform, seh ich erstmal nur diese, und erst nach einem doppelklick darauf seh ich den code.muß man da irgentwas einstellen das einem der code im projekt-explorer gleich angezeigt wird?
mfg stefan

Anzeige
AW: Genial Johannes
18.06.2008 01:47:08
Johannes
Hi Stefan,
na ja - das ist das normale Verhalten des VBA Editors. Dir wird zuerst der Form Designer (also die GUI Ansicht der UserForm) serviert. Gibt doch genug Moeglichkeiten um in die Codeansicht zu wechseln. F7, Doppelklick auf die UserForm, Rechtsklick UserForm - Code Anzeigen, Ansicht - Code Anzeigen ... etc.
Aber schoen, dass es funktioniert. ;-)
Gruesse,
Johannes

AW:VBA kann macht ja richtig Spaß machen
18.06.2008 02:23:00
stefan
wenn man solche Profis wie dich, Johannes ,fragen kann.
werde mir morgen den code nochmal genauer anschauen und versuchen zu verstehen/lernen warum/wieso er funktioniert.
wünsch dir noch eine gute nacht.
mfg stefan
Anzeige

269 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige