使用 VBA 删除一个文件夹,它仍然出现在文件资源管理器中,直到下一次迭代

Deleting a folder using VBA and it still appears in File Explorer until the next iteration

VBA - 访问

我正在使用 fso.DeleteFolder 删除服务器上的一个文件夹,该文件夹是由同一 Access DB 中的早期函数创建的。 fso.DeleteFolder 代码 运行s 没有错误和 运行ning fso.FolderExists 之后显示文件夹不再存在(在删除之前,fso.FolderExists 声明文件夹确实存在)。

但是该文件夹仍列在服务器上的文件资源管理器中。刷新没有好处。双击服务器上的文件夹时,出现无法访问文件夹并拒绝访问的错误(删除前,文件夹是正常的)。

该文件夹可能有也可能没有子文件夹 and/or 文件 - 但我认为这不重要,因为如果我 运行 使用不同的文件夹名称重新创建/删除过程,问题重复 - 除了之前的文件夹现在不再列在文件资源管理器中(现在真正删除了上帝的意图),取而代之的是应该通过相同的双击错误删除的新文件夹等等。

我在函数末尾杀死了我的 fso 对象,我相信同样的问题也会发生在 KILL 而不是 fso 上。

任何help/thoughts将不胜感激。

刚遇到那个问题!

出于某种原因,删除带有 VBA 的目录会在删除的文件上留下挥之不去的 "lock" 直到它执行另一个目录类型操作然后刷新 "lock" 如果您要删除一个脚本中的三个目录,您可能会发现唯一的 "failed" 删除操作是针对最后一个删除的目录。

在 RmDir 操作对我有效后,在脚本中执行 "directory read" 类型操作。尝试这样的事情...

If Dir("yourpath") = "" Then MkDir "yourpath"