Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _ ByVal bRevert As Long) As Long Private Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As Long, _ ByVal uIDEnableItem As Long, ByVal uEnable As Long) As Long Const MF_GRAYED = &H1& Const MF_BYCOMMAND = &H0& Const SC_CLOSE = &HF060& Sub CloseButtonEnable() Dim hWnd As Long Dim hMenu As Long Dim result As Long hWnd = Application.hWndAccessApp hMenu = GetSystemMenu(hWnd, 0) result = EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND Or MF_GRAYED) End Subこれを起動時に実行すれば閉じる[×]ボタンが無効になります。
■ 補足
ただし閉じる[×]ボタンを押してもファイルは閉じなくなりますが、Office のバージョンによって見た目が随分違います。- Office 2007: 見た目は変わらない。
- Office 2010: 赤い×ボタンが若干暗い色に変わる
- Office 2013: 見た目は変わらない。
これ以外にもある Office の「閉じる」操作は、
・Windows のタスクバーから、Officeのタスクを閉じる。
・メニューから Office を終了する。
・ショートカットキー [Ctrl] + [F4] で閉じる。
・Shift キーを押しながら起動すると、VBAマクロを無効にして起動できる。
・タスクマネージャ から、プロセスをKILL
■ 参考資料
GetSystemMenuhttp://msdn.microsoft.com/ja-jp/library/cc364748.aspx
EnableMenuItem
http://msdn.microsoft.com/ja-jp/library/cc410786.aspx
アプリケーション ウィンドウの閉じるボタンおよび [ファイル] メニューの [終了] を無効にする方法
http://support.microsoft.com/kb/300688/ja