隐藏Excel 2013,同时以编程方式更改工作簿

Excel 2013的一个非常好的新function是,它不能强迫在一个应用程序中显示多个Excel工作簿。 这似乎是我的问题的原因:

如果我使用c#编程打开Excel工作簿,并且Excel 2013以新的应用程序窗口开始。 我可以用代码工作簿没有问题,但我想隐藏应用程序。 运用

Excel.Application excelApp = new Excel.Application(); ...... excelApp.Workbooks.Open(...); excelApp.Visible = false; 

显示后隐藏应用程序窗口。 有没有办法停止显示在Excel 2010或更早版本的应用程序?

在我的Excel 2013中,使用excelApp = new Excel.Application不显示任何窗口。

可能是打开的工作簿中显示窗口的一些VBA代码?

所以我知道这个问题很老,但是我需要一个答案,没有一个给我的工作。 在初始化时,我最终将Visible设置为false,以避免隐藏之前窗口闪烁。

 Excel.Application excelApp = new Excel.Application() { Visible = false }; 

在打开任何工作簿之前,隐藏您的代码已启动的Excel应用程序:

 Excel.Application excel = new Excel.Application(); excel.Visible = false; [...] Excel.Workbook workbook; workbook = excel.Workbooks.Open(...); 

你应该把Visible放入try / catch-block

 Excel.Application xlsApp = new Excel.Application(); try { // Must be surrounded by try catch to work. // http://naimishpandya.wordpress.com/2010/12/31/hide-power-point-application-window-in-net-office-automation/ xlsApp.Visible = false; xlsApp.DisplayAlerts = false; } catch (Exception e) { Console.WriteLine("-------Error hiding the application-------"); Console.WriteLine("Occured error might be: " + e.StackTrace); } Excel.Workbook workbook; workbook = xlsApp.Workbooks.Open(File, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);