【Access小品】分解问题--删除空文件夹示例
时 间:2014-07-01 15:55:51
作 者:煮江品茶   ID:10802  城市:武汉
摘 要:【Access小品】分解问题--删除空文件夹示例
正 文:
论坛中有一个版友问如何删除空文件夹?对于这个问题就需要进行问题的分解。我们来看看会有些什么样的情形:首先当然是从最简单直观的说起,一个文件夹中没有子文件夹也不包含文件,这显然是一个空文件夹。如果仅仅是这样一种简单的情况,大可不必专门写一个程序去处理它。通常情况下,我们会想要对这样一个现实的情况进行处理--就是给定一个文件夹地址,然后在这个文件夹中找到它内部存在的所有空文件夹,然后去删除它们。所以,所谓“删除空文件夹”这个问题,需要分解为:1、删除空文件夹;2、删除给定非空文件夹中的所有为空的子文件夹;3、当所有子文件夹皆空时,删除父文件夹。
这样一分解,问题立刻了然,仿佛乾坤朗朗一般。剩下的只是怎么来综合性地解决三个问题而已,于是乎下面的示例便告诉你一种解决的思路,代码太简单,讲解起来寡然无味,同志们自己去看便可以了。
	
	示例:
点击下载此附件 
	
视图:
	
 
	
核心代码:
Public Sub DeleteNullFolder(ByVal path As String)
	    '功能:删除空文件夹
    '引用:Microsoft Scripting Runtime
    Dim fso As New FileSystemObject
    Dim fld As Folder
    Dim subfld As Folder
    
    If fso.FolderExists(path) = True Then
        Set fld = fso.GetFolder(path)
        If fld.SubFolders.Count = 0 And fld.Files.Count = 0 Then '无子文件夹和文件
            fld.Delete
        Else
            If fld.SubFolders.Count > 0 Then  '遍历子文件夹并递归,删除其中的空文件夹
                For Each subfld In fld.SubFolders
                    Call DeleteNullFolder(subfld.path)  '递归
                Next
            End If
            If fld.SubFolders.Count = 0 And fld.Files.Count = 0 Then '经过删除子文件夹后,再判断是否为空文件夹
                fld.Delete
            End If
        End If
    End If
    
    Set fso = Nothing
    Set fld = Nothing
    Set subfld = Nothing
End Sub
	
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
 - 用Access连续窗体制作的树...(11.03)
 - 【Access高效办公】上一年...(10.30)
 - Access制作的RGB转CM...(09.22)
 - Access制作的RGB调色板...(09.15)
 - Access制作的快速车牌输入...(09.13)
 - 【Access高效办公】统计当...(06.30)
 - 【Access高效办公】用复选...(06.24)
 - 根据变化的日期来自动编号的示例...(06.20)
 - 【Access高效办公】按日期...(06.12)
 
  学习心得
最新文章
- 用Access连续窗体制作的树菜单...(11.03)
 - 【Access高效办公】上一年度累...(10.30)
 - Access做的一个《中华经典论语...(10.25)
 - Access快速开发平台--加载事...(10.20)
 - 【Access有效性规则示例】两种...(10.10)
 - EXCEL表格扫描枪数据录入智能处...(10.09)
 - Access快速开发平台--多行文...(09.28)
 - 关于从Excel导入长文本数据到A...(09.24)
 - Access制作的RGB转CMYK...(09.22)
 - 关于重装系统后Access开发的软...(09.17)
 

  
.gif)
