【问题标题】:Delete system folder not working删除系统文件夹不起作用
【发布时间】:2015-12-06 14:47:05
【问题描述】:

我正在使用以下代码复制文件,并将其粘贴到新目录。然后我试图像这样删除旧文件夹和其中的所有文件:

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

无论我做什么文件夹都不会删除,只有文件夹内的文件被删除。请问有人可以告诉我我做错了什么吗?

【问题讨论】:

  • 删除 On Error Resume Next 并告诉我们您在删除文件夹时是否遇到任何错误?

标签: vba excel delete-directory


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    • 2011-06-25
    • 2016-09-13
    • 2021-09-11
    • 2016-04-11
    • 1970-01-01
    相关资源
    最近更新 更多