2013-10-17 37 views
3

我有以下對象,稍後在我的代碼中我想處置()如果它存在。有沒有辦法找到它是否存在?有沒有辦法找出一個對象是否被處置()或不?

Public objExcel As Excel.Application 

我能想出的最好的是把排入這樣的try ... catch塊:

Try 
    objExcel.dispose() 
Catch ex As Exception 
    'do nothing 
End Try 

有沒有人有一個更優雅,少缺憾方法?

回答

2

要完全處理Excel對象,您必須是元帥類。 System.Runtime.InteropServices.Marshal。您還需要以相反的順序釋放所有的Excel對象 - 工作表,工作簿,Excel對象。如果你沒有,你可以在任務管理器中看到Excel進程。

System.Runtime.InteropServices.Marshal.FinalReleaseComObject(obgExcel) 
1

首先檢查對象是否已初始化,然後可以安全地處置它。

If objExcel isnot nothing then objExcel.dispose() 
+0

這將導致問題並拋出ObjectDisposed異常。在處理完IsNot Nothing之前,你需要使用objExcel = Nothing。 – henda79

相關問題