我已经阅读了所有here (以及其他一些类似的问题)以释放我的COM对象,但我仍有问题。
我在循环中创建,填充和保存Excel文件,如下所示:
Private Sub CloseExcel(ByRef ObjExcel As Object)
Try
Runtime.InteropServices.Marshal.ReleaseComObject(ObjExcel)
ObjExcel = Nothing
Catch ex As Exception
ObjExcel = Nothing
Finally
Do
GC.Collect()
GC.WaitForPendingFinalizers()
Loop While Runtime.InteropServices.Marshal.AreComObjectsAvailableForCleanup
End Try
End Sub
现在的问题是,当我调用CloseExcel时, 第一个 Excel实例永远不会被释放:
{{1}}
所有其他实例都正确关闭,但 第一个 Excel实例只有在整个应用程序关闭时才会关闭。有什么我做错了吗?