找不到终止路径文件

时间:2018-11-22 10:42:17

标签: excel vba excel-vba kill

我正在尝试删除以下文件夹中的所有文件。但是错误出现为

  

运行时错误75:找不到路径/文件

不过有两点需要注意:

  1. 它确实删除了一些文件,但从未删除过相同的文件
  2. 路径确实存在

代码:

Sub deleteprevfixing()
    'First delete file contents
    Dim aFile As String
    aFile = "R:\samsfiles\sam\!test\*.*"

    If Len(Dir$(aFile)) > 0 Then
         Kill aFile
    End If
End Sub

2 个答案:

答案 0 :(得分:0)

如果要删除文件夹中的所有文件(如您的问题所希望的那样),则需要继续循环并调用dir()。否则,您将只删除dir()返回的第一个文件。

Option Explicit

Sub DeleteAllFilesInFolder()

    Dim folderPath As String
    folderPath = "R:\samsfiles\sam\!test\"

    Dim Filename As String
    Filename = VBA.FileSystem.Dir$(folderPath & "*.*", vbNormal) ' The "*.*" here isn't really necessary, but I'll leave it as is.

    Do Until Len(Filename) = 0
        Kill folderPath & Filename
        Filename = VBA.FileSystem.Dir$()
    Loop

End Sub

答案 1 :(得分:0)

所有排序-谢谢大家。这是因为我不得不关闭“确定要永久删除此文件吗?”从网络共享或映射的驱动器中删除时出现对话框。

这是解决方法(从下面的来源复制)

  1. 将网络驱动器映射到要使用的网络共享。确保 在登录时驱动器已重新连接。
  2. 浏览到C:\users\<username>
  3. 右键单击该位置中的一个文件夹(任何 文件夹(例如“链接”),然后单击属性。
  4. 选择位置选项卡。
  5. 单击“移动”,浏览到在步骤1中映射的驱动器的根目录 然后单击选择文件夹。
  6. 单击“确定”,然后在对话框中单击“是” 出现。

Please see attached for original thread