我想知道如何使用MS Access VBA删除文件夹。
结构如下:
MainFolder
- Africa 2014.04
- Europe 2014.05
- USA 2014.06
我需要在MainFolder中搜索所有文件夹,找到包含2014.04的文件夹,并删除所有文件。
更新于2014年5月25日:
我真的不知道到底有什么不清楚,但无论如何要感谢你今天帮我吧。而我得到的答案恰恰就是我所需要的:(我下次会尝试不再发帖了。
2014年5月26日更新:
我再次抱怨所有的误解,但是当我在网站上写一些东西的时候,我看到编辑建议正在进行中。所以我想如果用较少的单词写一些东西就不会给别人修理我的语法带来困难。
这是我想要实现的目标。
Function DeleteSubfoldersIn(ByVal sDir)
Dim inFS As New FileSystemObject
Dim inDir
Dim inSub
Dim strDateNow As String
Dim strASub As String
Dim strDiffDate As String
strDateNow = Format(Date - 90, "yyyy.mm")
Set inDir = inFS.GetFolder(sDir)
For Each inSub In inDir.SubFolders
DeleteSubfoldersIn inSub.Path
strASub = Right(inSub.Path, 7)
If strASub = strDateNow Then
If Dir(inSub.Path & "\*.*") <> "" Then
Kill inSub.Path & "\*.*"
End If
RmDir inSub.Path
End If
Next inSub
End Function
谢谢。
答案 0 :(得分:1)
使用Dir
搜索文件夹。
使用Kill
删除文件夹中的所有文件;如果有子文件夹,则可能需要递归。
使用RmDir
删除文件夹。
代码的基本结构:
strFolderName = Dir("C:\MainFolder\*2014.04*", vbDirectory)
Do While strFolderName <> ""
Do While... 'loop for deleting files
Kill...
...
Loop
RmDir strFolderName
strFolderName = Dir
Loop