我有以下對象,稍後在我的代碼中我想處置()如果它存在。有沒有辦法找到它是否存在?有沒有辦法找出一個對象是否被處置()或不?
Public objExcel As Excel.Application
我能想出的最好的是把排入這樣的try ... catch塊:
Try
objExcel.dispose()
Catch ex As Exception
'do nothing
End Try
有沒有人有一個更優雅,少缺憾方法?
我有以下對象,稍後在我的代碼中我想處置()如果它存在。有沒有辦法找到它是否存在?有沒有辦法找出一個對象是否被處置()或不?
Public objExcel As Excel.Application
我能想出的最好的是把排入這樣的try ... catch塊:
Try
objExcel.dispose()
Catch ex As Exception
'do nothing
End Try
有沒有人有一個更優雅,少缺憾方法?
要完全處理Excel對象,您必須是元帥類。 System.Runtime.InteropServices.Marshal
。您還需要以相反的順序釋放所有的Excel對象 - 工作表,工作簿,Excel對象。如果你沒有,你可以在任務管理器中看到Excel進程。
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(obgExcel)
首先檢查對象是否已初始化,然後可以安全地處置它。
If objExcel isnot nothing then objExcel.dispose()
這將導致問題並拋出ObjectDisposed異常。在處理完IsNot Nothing之前,你需要使用objExcel = Nothing。 – henda79