试图从excel获取当前打开的工作簿路径。 MyExcelAppObject.Application.ActiveWorkbook有时会返回null

时间:2014-11-13 16:05:41

标签: c# .net excel com-interop

我正在尝试从excel应用程序获取当前打开的工作簿名称(路径)。该方法如下所示:

        var ExcelObj = (Microsoft.Office.Interop.Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
        return ExcelObj.Application.ActiveWorkbook.FullName;

经常(几乎50%的尝试)抛出nullreferenceexception,因为ExcelObj.Application.ActiveWorkbook为null但有时它返回正确的值。我无法弄清问题是什么。为什么它有时会起作用,但有时候却没有。

0 个答案:

没有答案