2015-09-10 60 views
0

我正在使用以下代碼來複制文件,並將其粘貼到新目錄。然後我想刪除其中的舊文件夾下的所有文件,像這樣:刪除系統文件夾不工作

Source = "\\MI-FILESERVE1\Shared Folders\Shared_Business_Dev\Tasks\" & Range("D" & ActiveCell.Row).Value & "\" & Range("H" & ActiveCell.Row).Value& "\" & Range("AB" & ActiveCell.Row).Value & "\log.txt" 
Destination = "\\MI-FILESERVE1\Shared Folders\Shared_Business_Dev\Tasks\" & Range("D" & ActiveCell.Row).Value & "\" & Range("O" & ActiveCell.Row).Value & "\" & Range("AB" & ActiveCell.Row).Value & "\log.txt" 
On Error Resume Next 
SetAttr Source, vbNormal 

FileCopy Source, Destination 

On Error Resume Next 

dir_name = "\\MI-FILESERVE1\Shared Folders\Shared_Business_Dev\Tasks\" & Range("D" & ActiveCell.Row).Value & "\" & Range("H" & ActiveCell.Row).Value & "\" & Range("AB" & ActiveCell.Row).Value & "\" 

Dim fso11 
Set fso11 = CreateObject("Scripting.FileSystemObject") 
fso11.DeleteFolder dir_name 

SetAttr Destination, vbHidden 

不管我做什麼,該文件夾不會刪除,只有文件是越來越裏面的文件夾中刪除。請有人能告訴我我做錯了什麼?

+1

刪除'On Error Resume Next'並告訴我們,如果刪除文件夾時出現錯誤? –

回答

1

如果您確定要刪除所有內容,請使用Kill()方法刪除所有文件,然後使用RmDir()方法刪除空文件夾。

On Error Resume Next 
Kill dir_name & "*.*" 
RmDir dir_name 
Err.Clear   '// Clear error if exists 
On Error GoTo 0  '// Reset error handling