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

何をしてもフォルダーは削除されず、フォルダー内のファイルのみが削除されます。誰かが私が間違っていることを教えてください。

4

1 に答える 1

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
于 2015-09-10T13:00:58.207 に答える