RmDir - 路径/文件访问错误 VBA

Posted

技术标签:

【中文标题】RmDir - 路径/文件访问错误 VBA【英文标题】:RmDir - Path/File Access Error VBA 【发布时间】:2018-07-12 11:20:02 【问题描述】:

我正在尝试使用 VBA 中的 RmDr 函数删除文件夹。在执行下面的 sn-p 时,我收到以下错误:

“路径/文件访问错误”。

    'Delete html Folder
    If (DirExists(fileDir)) Then
        Kill fileDir & Chr(92) & "*.*"
        RmDir fileDir
    End If

文档如下:

备注 如果您尝试对包含文件的目录或文件夹使用 RmDir,则会发生错误。在尝试删除目录或文件夹之前,使用 Kill 语句删除所有文件。- https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/rmdir-statement

我的代码已经成功删除文件夹的所有内容,但是我仍然收到此错误。

有人遇到过这个错误吗?

【问题讨论】:

我认为这不是 VBA 问题。无法删除文件夹(或文件)的原因有很多 - 进程可能将其锁定,用户没有足够的权限,文件夹包含隐藏文件......。发生这种情况时:可以手动删除文件夹吗? 我可以手动删除文件夹没有问题。该项目也位于不需要管理员权限的区域。在删除文件夹之前,我确保它的任何内容都已关闭(在任务管理器中检查)。 尝试使用 FileSystemObject:msdn.microsoft.com/en-us/vba/language-reference-vba/articles/… 如果从命令行执行,rmdir "foldername" 是否会删除文件夹(确保给出完整的文件夹路径或从适当的工作目录执行)? 貌似没有提到,但是当你通过代码删除一个目录时,如果该文件夹正在被任何用户访问(打开/查看),它不能正常完成,并且会抛出一个像上面这样的错误。 【参考方案1】:

正如大家所说,代码似乎没有问题。 我仔细研究了一下,似乎是我在 Office 中的宏设置有问题。

在 Access 中,我转到 文件>>选项>>信任中心>>信任中心设置并将宏设置为启用。

现在目标文件夹删除成功。

感谢您的帮助。

【讨论】:

以上是关于RmDir - 路径/文件访问错误 VBA的主要内容,如果未能解决你的问题,请参考以下文章

如何在excel vba中传递包含excel文件路径的字符串以访问vba

将文件名导入列表框,无需路径访问 2007 vba-

如何在文件夹而不是 Excel VBA 中的 CurrentDB 中定义访问数据库的路径?

在 Visual Studio 2015 git repo 中切换分支时发生错误,无法 rmdir 访问被拒绝

导入规范访问 vba

访问 VBA 运行时错误 3052,超出文件共享锁定计数