如题~~~~~~~~~~~~~~~~~~~~~~~~~~~~谢谢~~~~~~~~~~~~~~~~~`

解决方案 »

  1.   

    '引用FSO("工程"->"引用"->Microsoft Scripting Runtime)Dim intTemp As IntegerPrivate Sub Command2_Click()
        Call SearchFolder("D:\")   '打印D盘下文件夹3曾文件夹的所有文件
    End SubSub SearchFolder(ByVal Folder As String)
        Dim fso As New FileSystemObject
        Dim objFile As File, objFolder As Folder    
        Set objFolder = fso.GetFolder(Folder)
        For Each objFile In objFolder.Files
            Debug.Print objFile.Path  '打印文件名及路径
        Next
        
        intTemp = intTemp + 1
        If intTemp = 4 Then Exit Sub
        
        For Each objFolder In objFolder.SubFolders
            SearchFolder objFolder '递归遍历整颗树
        Next
    End Sub
      

  2.   

    Sub SearchFolder(ByVal Folder As String)        'Folder 你的目录文件夹
        
        Dim fso As Object
        Dim objFile, objFolder, uuFiles, objSubFloders
        
        On Error Resume Next
        
        Set fso = CreateObject("Scripting.FileSystemObject")
        
        Set objFolder = fso.GetFolder(Folder)
        Set uuFiles = objFolder.Files
        For Each objFile In uuFiles
            WriteFile objFile.Path
        Next
        
        Set objSubFloders = objFolder.SubFolders
        For Each objFolder In objSubFloders
            WriteFile objFolder.Path
            SearchFolder objFolder '递归遍历文件夹
        Next
    End Sub
      

  3.   

    Option Explicit
    Dim fso As FileSystemObject, F As Folder, Fc As Folders, sName As String
    Dim F1 As Folder
    Dim F2 As Folder
    Dim F3 As Folder
    Dim F4 As FoldersDim p As Boolean
    Dim flag As Boolean '设置结果标志'Private Sub Command1_Click()
    '  Dim x As String
    '  Dim y As String
    '  Dim k As String
    '  x = "D:\kk"
    '  y = "input"
    '  Call SearchFile(x, y)
    ''  If Len(k) <> 0 Then
    ''      Fso.DeleteFolder (k)
    ''      Fso.CreateFolder (k)
    ''   End If
    'End Sub
    Public Function SearchFile(FolderSpec As String, Fname As String) As String
        
        If p = True Then Exit Function
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set F = fso.GetFolder(FolderSpec)
        Set Fc = F.SubFolders
        
        
        For Each F1 In Fc
          If Fname = F1.Name Then
             MsgBox "OK"
             p = True
             Exit Function
          Else
             Call SearchFile(F1.Path, Fname)
          End If
        If p = True Then Exit Function
       Next
      End FunctionPrivate Sub Form_Load()
      p = False
    '  Dim flag As Boolean
    End SubPrivate Sub Command1_Click()
        flag = False
        MsgBox SearchFolder("D:\kk", "input")
    End SubFunction SearchFolder(ByVal Folder As String, ByVal subFolder As String) As Boolean
        Dim fso As New FileSystemObject
        Dim objFile As File, objFolder As Folder    Set objFolder = fso.GetFolder(Folder)    For Each objFolder In objFolder.SubFolders
        
            If flag Then
                SearchFolder = True
                Exit Function
            End If
            
            If objFolder.Name = subFolder Then
                Debug.Print objFolder.Path '打印子文件夹的全路径(为测试是否全部退出了所有的函数过程)
                flag = True
                Exit Function '找到后退出函数
            End If
            SearchFolder objFolder, subFolder '递归遍历整颗树
        Next
    End Function
      

  4.   

    如果仅仅搜索3层目标文件夹,这样做:'引用FSO("工程"->"引用"->Microsoft Scripting Runtime)Dim intTemp As IntegerPrivate Sub Command2_Click()
        Call SearchFolder("D:\")   '打印D盘下文件夹3曾文件夹的所有文件
    End SubSub SearchFolder(ByVal Folder As String)
        Dim fso As New FileSystemObject
        Dim objFile As File, objFolder As Folder    
        Set objFolder = fso.GetFolder(Folder)
        If intTemp = 3 Then
            For Each objFile In objFolder.Files
                Debug.Print objFile.Path  '打印文件名及路径
            Next
        End If
        
        intTemp = intTemp + 1
        If intTemp = 4 Then Exit Sub
        
        For Each objFolder In objFolder.SubFolders
            SearchFolder objFolder '递归遍历整颗树
        Next
    End Sub