在当前实例中打开一个现有的Excel文件

我用C#语言编写了一个Excel Addin for Office 2013。

我知道有几种方法可以打开现有的Excel文件,但是所有这些文件都是在Excel上的新实例中打开的。

我有一个Excel的当前实例,并希望当有人点击一个button,新的文件打开当前isctance(不是一个新的)!

例如我使用下面的一段代码:

Excel.Application excelApp = new Excel.Application(); excelApp.Visible = true; string workbookPath = (@"C:\Downloads\Sample.xlsx"); Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); 

但是这个代码在excel文件的新实例中打开Sample.xlsx。

任何想法?

提前致谢。

而不是创build一个新的对象,请使用Marshal.GetActiveObject :

 Excel.Application excelApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); 

Plus @LS_dev解决scheme,我添加了excelApp.ActiveWorkbook.Close()命令使其工作。

 Excel.Application excelApp = (Excel.Application) System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); excelApp.ActiveWorkbook.Close(); string workbookPath = (@"C:\Downloads\Sample.xlsx"); Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);