- ベストアンサー
Access2013のコマンドボタンを消す方法
- 会社でAccessアプリケーションを作っています。タイトルバーにある閉じるなどのコマンドボタンをモジュールで消していましたが、Access2013では同じ方法が使えません。
- Access2003で使用していたコードでは、タイトルバーにあるコマンドボタンを非表示にすることができましたが、Access2013ではこの方法が機能しません。
- Access2013でコマンドボタンを非表示にする方法をご存知の方がいらっしゃいましたら、教えていただきたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
下記のコードで消せています。 Option Compare Database Option Explicit Private Declare Function GetWindowLong Lib "user32" _ Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Const GWL_STYLE = (-16) Private Const WS_SYSMENU = &H80000 Public Sub SetAccWinStyle() Dim WStyle As Long Dim hWnd As Long DoCmd.ShowToolbar "Ribbon", acToolbarNo hWnd = Application.hWndAccessApp WStyle = GetWindowLong(hWnd, GWL_STYLE) WStyle = WStyle And Not WS_SYSMENU SetWindowLong hWnd, GWL_STYLE, WStyle End Sub リボンが表示されていると消せないようですので、 DoCmd.ShowToolbar "Ribbon", acToolbarNo でリボンを非表示にするのがキモです。 リボンを表示したまま消す方法はわかりません。
お礼
hatena1989さん 回答ありがとうございます。 このコードをモジュールに貼り付けて、SetAccWinStyle()を実行したら上手くいきました。ただ、起動時にこれを実行しようとして、AutoExecにプロシージャの実行を選択して、プロシージャ名をSetAccWinStyle()にしたら、見つけられない関数としてけられてしまいました。 お手間ですみませんが、起動時の設定の仕方まで教えていただけませんでしょうか。 よろしくお願いします。