c#Excel – 退出时显示function区

我正在使用VSTO来devise一个带有Excel界面的应用程序。 我想在启动时隐藏function区(应用程序中不需要),并在退出时重新显示(如果用户最初显示的话),以避免使用该应用程序的人感到不适,而且下一次需要function区他们打开Excel。

我可以使用本质上下面的代码在ThisWorkbook_Startup隐藏function区(从这个问题Excel 2007以编程方式最小化function区,但不是菜单栏 ):

  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_ShutdownThisWorkbook_BeforeClose方法中时,与之前引用的问题相同的代码或类似的变体似乎不起作用。 代码被打,但似乎永远不会执行 – function区永远不会被恢复。

还有另一种方法来退出退出function区?

谢谢,

安德鲁