excel - 不使用 FileSystemObject 删除目录及其内容(文件、子目录)

标签 excel vba filesystemobject

我想知道是否可以重写这段代码:

Private Sub PrepareDir(ByVal dir As String)
    Dim fso As New FileSystemObject
    If fso.FolderExists(dir) Then Call fso.DeleteFolder(dir, True)
    Call fso.CreateFolder(dir)
End Sub

使用 VBA 语句:Kill、MkDir 等。其中最“困难”的部分 - 删除非空目录。使用FSO可以轻松完成,但是没有FSO怎么办呢?

最佳答案

OP 说他们想重写代码“不带 FSO ”,但这没有意义。

如果目标是减少代码量,只需将其设为一行即可:

CreateObject("Scripting.FileSystemObject").DeleteFolder "x:\myFolder"

根据要求,此操作永久会删除文件夹及其内容。

<小时/>

更多信息:

关于excel - 不使用 FileSystemObject 删除目录及其内容(文件、子目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25401789/

相关文章:

excel - Excel VBA 中的计算

excel - 如何使用行输入搜索字符串,然后在 Excel 单元格中打印接下来的 5 行

vba - Excel - 通过 VBA 显示组合框下拉菜单

excel - 将 FSO 设置为 FileSystemObject 与 Scripting.FileSystemObject

excel - 使用额外的唯一数据展平重复的行

sql - 如何在 Excel 中使用 SQL 连接

VBA - 遍历所有工作表并排除一个

javascript - 如何使用 Scripting.FileSystemObject 和 TextStream 将 LF 转换为 CR/LF?

powershell - 文件系统对象:MoveFolder提供随机的 “Permission Denied”错误

python - 使用 wine 在 linux 上使用 win32com 自动化 excel