• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2013のコマンドボタンを消す方法)

Access2013のコマンドボタンを消す方法

このQ&Aのポイント
  • 会社でAccessアプリケーションを作っています。タイトルバーにある閉じるなどのコマンドボタンをモジュールで消していましたが、Access2013では同じ方法が使えません。
  • Access2003で使用していたコードでは、タイトルバーにあるコマンドボタンを非表示にすることができましたが、Access2013ではこの方法が機能しません。
  • Access2013でコマンドボタンを非表示にする方法をご存知の方がいらっしゃいましたら、教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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 でリボンを非表示にするのがキモです。 リボンを表示したまま消す方法はわかりません。

panacon
質問者

お礼

hatena1989さん 回答ありがとうございます。 このコードをモジュールに貼り付けて、SetAccWinStyle()を実行したら上手くいきました。ただ、起動時にこれを実行しようとして、AutoExecにプロシージャの実行を選択して、プロシージャ名をSetAccWinStyle()にしたら、見つけられない関数としてけられてしまいました。 お手間ですみませんが、起動時の設定の仕方まで教えていただけませんでしょうか。 よろしくお願いします。

関連するQ&A