Office 2007 の閉じるボタンの非表示や無効化について

今回はパートナー様からのご質問でいただいて調査していた件になります。

 

Office 2007 の閉じるボタンについてですが、 

Office 2007 では、アプリケーション ウィンドウの閉じるボタンが Office アプリケーションにより独自で描画されているため リボンXML による編集や VBA Win32 API 等を使用して非表示にすることはできないようです。

Windows API の GetSystemMenu でシステム メニューのハンドルを取得後に DeleteMenu でボタンを無効にする方法や、Before_Close イベントを用いて終了処理をキャンセルする方法しかないようです。

 

GetSystemMenu

https://msdn.microsoft.com/ja-jp/library/cc364748.aspx

DeleteMenu

https://msdn.microsoft.com/ja-jp/library/cc410754.aspx

 

このあたりは Office 2003 まではなんとかなっていたようなのですが、仕様変更になったようです。

こういうのサポート技術情報が欲しいところです。

パートナー様でカスタマイズされて開発されているケースが多いので。

今度、サポート部門に相談しておきます。