Access-Hauptfenster manipulieren
Veröffentlicht am 04.05.2005
Access bietet Ihnen Makroaktionen und VBA-Methoden, mit denen man Objektfenster (wie z.B. Formulare und Berichte) maximieren, minimieren und wiederherstellen kann. Ähnliche Funktion zum manipulieren des Access-Hauptfensters sucht man dagegen vergeblich. Mit der API-Funktion ShowWindow und einigen VBA-Konstanten können Sie jedoch diese Lücken ohne weiteres füllen.
Der Funktion ShowWindow übergeben Sie zwei Parameter: einmal das Handle des Hauptfenster von Access und eine Konstante, die bestimmt, wie das Fenster angezeigt werden soll. Die nötigen Konstanten sowie ShowWindow können Sie in einem Modul folgendermaßen deklarieren:
Public Const SW_MAXIMIZE = 3 ' Fenster maximieren
Public Const SW_MINIMIZE = 6 ' Fenster minimieren
Public Const SW_NORMAL = 1 ' Fenster wiederherstellen
Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Es bleibt nur noch die Aufgabe, das Handle des Hauptfensters zu ermitteln. Glücklicherweise stellt Access zu diesem Zweck die Eigenschaft hWndAccessApp des Objekts Application zur Verfügung. Diesen können Sie direkt an ShowWindow weitergeben:
' Fenster maximieren
If ShowWindow(Application.hWndAccessApp, SW_MAXIMIZE) Then
Debug.Print "Fehler in ShowWindow(Maximize)"
End If
' Fenster minimieren
If ShowWindow(Application.hWndAccessApp, SW_MINIMIZE) Then
Debug.Print "Fehler in ShowWindow(Minimize)"
End If
' Fenster wiederherstellen
If ShowWindow(Application.hWndAccessApp, SW_NORMAL) Then
Debug.Print "Fehler in ShowWindow(Normal)"
End If