我用下面的代码通过currentWrkBook得到fileName

using Excel = Microsoft.Office.Interop.Excel;
...
Excel.Workbook currentWrkBook = Excel.Application.Workbooks.Open(fileName);
...


结果正常(运行上述语句时,fileName [D:/DataProject/Resources.xlsm]已打开):

c# - 如何在不显示Excel窗口的情况下按文件名打开工作簿?-LMLPHP

现在,我想通过fileName获取currentWrkBook而无需打开文件。

有可能吗这些方面的任何提示都将为您提供很大的帮助。提前致谢。

最佳答案

尝试从新的Application对象打开文件:

var excel = new Excel.Application();
var workbook = excel.Workbooks.Open(filename);


您可能已经在运行excel实例,然后新的工作簿也将变为可见。

编辑:如果您需要获取已经打开的工作簿的引用,则可以获取它by name

Excel.Workbook currentWrkBook = Excel.Application.Workbooks[fileName];

10-08 09:15
查看更多