2017-06-22 97 views
0

我試圖將使用通配符從\Output文件夾到\Output\Archive文件夾的許多Excel文件。如果檔案文件夾中已存在文件,則應覆蓋該文件。Excel宏覆蓋現有文件

Print screen of my code

這是我的代碼(附圖片中所示)

Application.DisplayAlerts = False 

Dim FSO As Object 
Set FSO = CreateObject("scripting.filesystemobject") 

FSO.MoveFile Source:=Excel_Path & Excel_Name, Destination:=Excel_Path & "Archive\" & Excel_Name 

Application.DisplayAlerts = True 

它仍然拋出一個錯誤

文件已經存在

幾乎大家建議到禁用顯示警報但在我的情況下,它不工作。

我在這裏錯過了什麼嗎?有人可以幫忙嗎?
TIA, Sanket K.

+0

爲什麼不在刪除現有文件之前刪除現有文件(如果它在複製新文件之前存在)(注意,非常小心並仔細檢查DIR之前的運行,不要想要殺死你的主文件)。 –

+0

'ThisWorkbook.Saved = True'或WorkBook的名稱而不是ThisWorkbook可能對您有所幫助。 ? – Mertinc

回答

0

這是一個duplicate。如果目標文件已存在,則不能使用MoveFile。最好使用CopyFile和DeleteFile

+0

謝謝丹,它工作! – Sanket