我想知道是否可以重写这段代码:
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"
根据要求,此操作永久会删除文件夹及其内容。
<小时/>更多信息:
- 微软文档:DeleteFolder Method
- 罗恩·德·布鲁因:Delete files and folders
关于excel - 不使用 FileSystemObject 删除目录及其内容(文件、子目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25401789/