2015-02-23 69 views
0

我有一個程序需要一個模板.docx文件並用數據填充它,然後保存一個副本。該程序本身工作正常,我得到了一個很好的try..catch在主要分支,以防萬一某些事情失敗,所以無論如何該文件是關閉的。vb.net MS Word崩潰清理

問題是,如果它完全崩潰,即強制關閉(或手動強制關閉,如果它掛起),它將保持該過程與打開的模板運行,所以下次啓動時,你會嘗試打開時出現只讀錯誤。

所以問題:有沒有辦法清理之後,而不必通過任務管理器結束進程?或者,也許一種打開它而不鎖定它的方式?做一個臨時副本也許?

回答

0

修正了這一點:

Sub KillUnusedWordProcess() 
    Dim oXlProcess As Process() = Process.GetProcessesByName("Winword") 
    For Each oXLP As Process In oXlProcess 
     If Len(oXLP.MainWindowTitle) = 0 Then 
      oXLP.Kill() 
     End If 
    Next 
End Sub