Thema Datum  Von Nutzer Rating
Antwort
19.10.2017 08:12:00 Bernd
NotSolved
Blau Userform immer in den Vordergrund bringen
19.10.2017 11:15:31 fkw48
NotSolved
23.10.2017 10:45:20 Bernd
NotSolved
23.10.2017 18:10:19 fkw48
NotSolved

Ansicht des Beitrags:
Von:
fkw48
Datum:
19.10.2017 11:15:31
Views:
1915
Rating: Antwort:
  Ja
Thema:
Userform immer in den Vordergrund bringen

Meine Anleitung zu Excel 2013-32bit und W7 dürfte auch bei dir passen

Prinzip:

(d)eine Userform mit folgendem Aufbau im Code der Userform

Deklarationen
API-Funktion SetWindowPos
(siehe https://www.activevb.de/cgi-bin/apiwiki/SetWindowPos)

API-Funktion FindWindow
(siehe https://activevb.de/cgi-bin/apiwiki/FindWindow)

ggf. Konstante (oder du übergibst du alle Parameter direkt?)
Private Const SWP_NOMOVE = &H2
'
Private Const HWND_TOPMOST = -1
'
usw.

Private Sub UserForm_Activate()

dim hwnd as long

Schritt 1 -  FindWindow(vbNullString, Me.Caption) dann hast du das Handle(hwnd) des Userform Fensters

Schritt 2 - der Funktion SetWindowPos übergibst du
- Handle(hwnd) als long
- hWndInsertAfter mit  - 1 (HWND_TOPMOST)
- die 4 Positionen mit 0 (soll ja nicht verschoben werden)
- wFlags als Kombination aus (SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE)

d.h. alle Parameter wie auf dem o.g. Link erklärt

Wird du Userform geschlossen (Command oder X), dann soll die Applikation natürlich wieder in den Vordergrund, d.h.

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'
Application.Visible = True


Hattu deine Userform so präpariert dann lege den Aufruf so  in ein VBA Modul
(wie eine eigene Klasse)

Option Explicit
Dim myForm As UserForm1

Sub ShowmyForm()
   Set myForm = New UserForm1
   myForm.Show vbModeless
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
19.10.2017 08:12:00 Bernd
NotSolved
Blau Userform immer in den Vordergrund bringen
19.10.2017 11:15:31 fkw48
NotSolved
23.10.2017 10:45:20 Bernd
NotSolved
23.10.2017 18:10:19 fkw48
NotSolved