我希望我的esri插件能够查找并使用现有的excel实例。代码:
Microsoft.Office.Interop.Excel.Application exApp = null;
try
{
exApp = (Microsoft.Office.Interop.Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
}
catch (Exception err)
{MessageBox.Show(err.ToString()); }
GetActiveObject每次抛出一个异常,如果excel运行与否则无关紧要: 来自marshal.getactiveobject的异常
System.Runtime.InteropServices.COMException (0x800401E3); Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))
at System.Runtime.InteropServices.Marshal.GetActiveObject( bla bla bla)
我写了一个小测试应用程序(Windows应用程序)来做同样的事情,它按预期工作。如果excel正在运行,它将返回对excel实例的引用,否则返回null。它从不抛出异常。为什么插件每次抛出异常?关于esri addins的事情? (这是arcmap的补充)
对此已经好几天了,任何帮助都表示赞赏。谢谢!