vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: VBA Allgemein   |   VB-Versionen: VBA14.08.03
Minimieren/Maximieren einer VBA-UserForm per Code

Im Gegensatz zur normalen VB-Form besitzt das VBA-UserForm keine WindowState-Eigenschaft...

Autor:   Dieter OtterBewertung:  Views:  56.076 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Im Gegensatz zur normalen VB-Form besitzt das VBA-UserForm keine WindowState-Eigenschaft, mit der man die Form per Code minimieren oder auch maximieren kann.

Beispiel für VB:

' Form minimieren
Me.WindowState = vbMinimized
' Form maximieren
Me.WindowState = vbMaximized

Nachfolgend zeigen wir Ihnen, wie Sie die WindowState-Eigenschaft für eine VBA-UserForm nachrüsten. Erstellen Sie hierzu ein Modul und fügen nachfolgenden Code ein:

Option Explicit
 
' benötigte API-Deklarationen
Private Declare Function GetActiveWindow Lib "user32" () As Long
 
Private Declare Function ShowWindow Lib "user32" ( _
  ByVal hWnd As Long, _
  ByVal nCmdShow As Long) As Long 
 
' Konstanten
Public Const vbNormal = 1
Public Const vbMinimized = 2
Public Const vbMaximized = 3

Die WindowState-Eigenschaft kommt als Property-Prozedur ebenfalls in das Modul:

' Fenster minimieren/maximieren/normal darstellen
Public Property Let WindowState(ByVal nState As Long)
  ShowWindow GetActiveWindow(), nState
End Property

Beispiel für den Aufruf:

Platzieren Sie auf die UserForm zwei CommandButtons (cmdMaximize und cmdNormal):

Private Sub cmdMaximize()
  ' UserForm maximieren
  WindowState = vbMaximized
End Sub
Private Sub cmdNormal()
  ' UserForm wieder normal darstellen
  WindowState = vbNormal
End Sub

Hinweis:
Obiger Code funktioniert nur, wenn die VBA-UserForm das aktive Fenster ist!
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.