2017-08-31 76 views
-1

有沒有什麼辦法檢查一個特定的word文檔是否打開?當我在打開應用程序之前打開應用程序時,當我告訴我的應用程序在文檔中寫入某些內容時,首先嚐試打開文檔,以及那些應用程序被卡住的位置。如果文件已經存在,在嘗試打開之前有一種方法可以打開打開?在這一刻我的代碼如下所示:檢查一個特定的word文檔是否使用c#打開

 object filename = s; // s is a string path which I get from database 
       Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); 
       Microsoft.Office.Interop.Word.Document doc1 = app.Documents.Open(s); 
       object missing = System.Reflection.Missing.Value; 
       app.Visible = true; 
+0

可能的複製[有沒有一種方法來檢查文件是否在使用?(HTTPS:/ /stackoverflow.com/questions/876473/is-there-a-way-to-check-if-a-file-is-in-use) – Filburt

+0

@Filburt也試圖使用該方法來檢查它是否打開,但實際上它告訴我每次打開文件時都會打開文件,所以我不知道爲什麼這種方法不適用於我...... –

+0

具體是什麼意思_「那是我的應用程序被卡住「_ - 你會得到一個異常,請問應用程序 「掛斷」? – PaulF

回答

0

只是把你的代碼的

try 
{ 
    //your code here 
} 
catch (Exception e) 
{ 
    //your behavior when the file is opened 
} 
+0

在這種情況下使用異常處理是最後的手段 - 至少它應該區分文件訪問異常/ IO和其他異常。 – Filburt

+0

我沒有試過這個,沒有任何反應 –

+0

看到我對這個問題的評論 - 在這一點上Word不打開文件,但顯示一個對話框(不幸的是應用程序被隱藏) - 所以沒有發生異常。 – PaulF