mod_retree.bas
来自「家谱管理软件,树形控件操作,可保存文本和图片,查找快捷」· BAS 代码 · 共 43 行
BAS
43 行
Attribute VB_Name = "Mod_Retree"
Option Explicit
'用递归算法删除带有多级子目录的目录
Sub RecurseTree(CurrPath As String)
On Error GoTo ErrorHandle
SetAttr CurrPath, vbNormal '此行主要是为了检查文件夹名称的有效性
Dim sFileName As String
Dim newPath As String
Dim sPath As String
Static oldPath As String
sPath = CurrPath & "\"
sFileName = Dir(sPath, 31) '31的含义∶31=vbNormal+vbReadOnly+vbHidden+vbSystem+vbVolume+vbDirectory
Do While sFileName <> ""
If sFileName <> "." And sFileName <> ".." Then
If GetAttr(sPath & sFileName) And vbDirectory Then '如果是目录和文件夹
newPath = sPath & sFileName
RecurseTree newPath
sFileName = Dir(sPath, 31)
Else
SetAttr sPath & sFileName, vbNormal
Kill (sPath & sFileName)
sFileName = Dir
End If
Else
sFileName = Dir
End If
DoEvents
Loop
SetAttr CurrPath, vbNormal
RmDir CurrPath
ErrorHandle:
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?