2014-08-30 144 views
2

我正在嘗試檢查某個特定的word文檔是否打開。如果打開,然後關閉它,然後再重新打開,如果沒有,然後打開它。關閉已打開的word文檔

問題是,當它試圖關閉文檔時,我總是得到一個錯誤的文件名4160錯誤。

是否有人會告訴我在我的代碼中問題到底在哪裏。

謝謝你提前。

 Dim wdApp As Object 
     Dim myDoc As Word.Document 

     Set wdApp = GetObject(, "Word.Application") 

     If IsFileOpen("C:\Letters\TemporaryLetter.docx") Then 
      wdApp.Documents("C:\Letters\TemporaryLetter.docx").Close 
     End If 

     With wdApp 
      .Visible = True 
      .WindowState = 2 
     End With 

     Set myDoc = wdApp.Documents.Open("C:\Letters\TemporaryLetter.docx") 
+0

嘗試關閉更正'wdApp.Documents(「TemporaryLetter」)。Close' – 2014-08-30 18:22:58

回答

0

沒有看到函數「IsFileOpen」您呼叫我「米猜它需要文件的短名稱(如‘TemporaryLetter.docx’)不完整路徑??嘗試:

If IsFileOpen("TemporaryLetter.docx") Then 
    wdApp.Documents("TemporaryLetter.docx").Close 
End If