C#关闭其他应用程序打开的Excel实例



我想知道是否有其他软件创建Excel实例,是否可以从c#访问该实例并关闭,但不会扼杀进程?我试过使用Marshal.GetActiveObject("Excel.Application"),但这给我带来了错误:

System.Runtime.InteropServices.COMException: 'Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))'

我找到了一种让它工作的方法。我用过

using Excel  = Microsoft.Office.Interop.Excel.Application;

稍后我使用的代码:

var app = (Excel.Application)Marshal.GetActiveObject("Excel.Application");

这给我带来了一个问题。我把代码改成:

using Microsoft.Office.Interop.Excel.Application;

var obj = (Microsoft.Office.Interop.Excel.Application)Marshal.GetActiveObject("Excel.Application");
obj.Quit();

现在一切正常。

最新更新