VSTO を使用して、Excel インターフェイスを備えたアプリケーションを設計しています。起動時にリボンを非表示にし (アプリケーションでは必要ありません)、終了時に再表示し (ユーザーが最初に表示していた場合)、アプリケーションを使用して次回リボンが必要な人を苛立たせないようにしたいと考えています。 Excel を開きます。
基本的に次のコードを使用してリボンを非表示にできますThisWorkbook_Startup
(この質問Excel 2007 プログラムでリボンを最小化しますが、メニューバーではありません):
Office.CommandBars cbs = null;
cbs = Application.CommandBars;
foreach (Office.CommandBar commandBar in cbs)
{
if (commandBar.Name == "Ribbon")
{
this.Application.ActiveWindow.Activate();
Application.SendKeys("^{F1}", true);
}
}
ThisWorkbook_Shutdown
ただし、前に参照した質問と同じコードまたは同様のバリエーションは、またはThisWorkbook_BeforeClose
メソッドに配置すると機能しないようです。コードはヒットしますが、実行されないようです。リボンは復元されません。
終了時にリボンを復元する別の方法はありますか?
ありがとう、
アンドリュー