我想知道是否有其他软件创建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();
现在一切正常。