加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB用TreView罗列出指定目录下的所有目录及文件

发布时间:2020-12-17 08:16:06 所属栏目:百科 来源:网络整理
导读:Public Function SearchFiles(Path As String,FileType As String) '历遍指定路径中的文件 Dim Files() As String '文件路径 Dim Folder() As String '文件夹路径 Dim 父() As String Dim a,b As Long Dim sPath As String Dim Nodeindex As Node On Error R
Public Function SearchFiles(Path As String,FileType As String)     '历遍指定路径中的文件
    Dim Files()  As String '文件路径
    Dim Folder() As String '文件夹路径
    Dim 父() As String
    Dim a,b As Long
    Dim sPath As String
    Dim Nodeindex As Node
    On Error Resume Next
    If Right(Path,1) <> "" Then Path = Path & ""
    sPath = Dir(Path & FileType) '查找第一个文件
    Do While Len(sPath) '循环到没有文件为止
        If Path = Text1.Text Then
            Set Nodeindex = TreeView1.Nodes.Add(,sPath,sPath)
        Else
            父 = Split(Path,"")
            Set Nodeindex = TreeView1.Nodes.Add(父(UBound(Split(Path,"")) - 1),tvwChild,sPath)
        End If
        Nodeindex.Sorted = True
        sPath = Dir '查找下一个文件
        DoEvents '让出控制权
    Loop
    i = 0
    sPath = Dir(Path & "",vbDirectory) '查找第一个文件夹
    Do While Len(sPath) '循环到没有文件夹为止
        If Left(sPath,1) <> "." Then '为了防止重复查找
            If GetAttr(Path & "" & sPath) And vbDirectory Then '如果是文件夹则。。。。。。
                a = a + 1
                ReDim Preserve Folder(1 To a)
                Folder(a) = Path & sPath & "" '将目录和文件夹名称组合形成新的目录,并存放到数组中
                'Print Path
                If Path = Text1.Text Then
                    Set Nodeindex = TreeView1.Nodes.Add(,sPath)
                Else
                    父 = Split(Path,"")
                    Set Nodeindex = TreeView1.Nodes.Add(父(UBound(Split(Path,sPath)
                End If
                Nodeindex.Sorted = True
            End If
        End If
        sPath = Dir '查找下一个文件夹
        DoEvents '让出控制权
    Loop
    For b = 1 To a '使用递归方法,遍历所有目录
        SearchFiles Folder(b),FileType
    Next
End Function
 
Private Sub Command1_Click()
    SearchFiles Text1.Text,"*.*"    'Text1.Text为指定目录路径比如"D:"
End Sub

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读