【发布时间】: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" 是否会删除文件夹(确保给出完整的文件夹路径或从适当的工作目录执行)?
-
貌似没有提到,但是当你通过代码删除一个目录时,如果该文件夹正在被任何用户访问(打开/查看),它不能正常完成,并且会抛出一个像上面这样的错误。