VBAでは久しぶりの投稿です。
Access VBAでは標準でフォームを表示した状態でアプリケーションウィンドウのみを非表示にするコマンド等はありません。
対策案として、Windows API の ShowWindow を使用します。
【Access 標準モジュール】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Declare Function ShowWindow Lib "User32" _ (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long 'ウィンドウ非表示 Sub WindowMinimize() Call ShowWindow(Application.hWndAccessApp, 2) End Sub 'ウィンドウ再表示 Sub WindowNormal() Call ShowWindow(Application.hWndAccessApp, 1) End Sub |
ShowWindowの第2引数で非表示再表示を設定します。
非表示 : 2
再表示 : 1
Accessを開いた際にフォームのみを表示したい場合は、カレントデータベースに[Accessを開いた際に表示したいフォーム]を設定し、[Accessを開いた際に表示したいフォーム]のフォームモジュールに下記コードを記入します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
'フォームロード時 Private Sub Form_Load() Call WindowMinimize End Sub 'フォームアンロード時 Private Sub Form_Unload(Cancel As Integer) Call WindowNormal End Sub |
※ShowWindowを使用しフォームのみ表示した際、フォーム上で右クリックメニューが表示されないことが確認されています。
右クリックメニューを使用される場合はShowWindowではなくMoveWindow等、別のAPIを使用してください。
ではこれにて。
---コメント---