如何closuresWindows窗体应用程序和excel.exe进程交互(可能通过垃圾收集器)?

我可能是唯一一个仍然自动化的Excel这种方式,我正在考虑以更好地处理COM对象等方式,但现在我只是导入Microsoft.Office.Interop.Excel并去为它。 起初给了我很多悲伤的东西是悬挂excel.exe进程,但是有大量的资源在线来解决这个问题 。 在这一点上,我对我的处理能力非常有信心。

有一件事我注意到,并想知道如何closures一个Windows窗体应用程序与后台运行excel.exe交互,可能更具体的垃圾收集器。 我已经写了不less的Excel自动化项目,并注意到,我运行我的程序.exe后,它已经完成有一个excel.exe进程挂起,直到我closures从Windows窗体应用程序的popup窗口。 为什么会这样呢?

vb.net是否在窗口closures之后才调用垃圾回收? 看看我写的代码没有提到“closures应用程序窗口”事件,并且垃圾回收器和释放COM对象调用在代码中都是正确的,所以在代码执行后我似乎很好奇我认为垃圾收集已被称为,如在代码中)有一个excel.exe进程,直到我真正closuresWindows窗体应用程序窗口。

没有什么紧迫的,比任何事情都更好奇,但任何直接的,将不胜感激。 谢谢。

确保您在代码块的末尾调用了excel对象上的Quit方法,并且可以进行垃圾回收以获得较好的效果,但应该在短时间内closures。 我有同样的问题,但发现我不得不手动处置。