'遍历文件的过程,并填充到工作表
Sub LookUpAllFiles(fld As Folder)
    Dim fil As File, outFld As Folder    '定义一个文件夹和文件变量
    Set subfiles = fld.Files()     '获取文件夹下所有文件
    Set SubFolders = fld.SubFolders      '获取文件夹下所有文件夹
    For Each fil In fld.Files     '遍历文件
        n = n + 1
        Range("a" & n).Value = fil.Name     '把文件名填充到数据表
    For Each outFld In SubFolders    '遍历文件夹
        LookUpAllFiles outFld      '调用函数自身
End Sub

这里有一个公共变量,需要在函数外定义

Private n As Integer

4.然后,显示一个输入对话框,输入文件名,就能遍历所有文件了

Sub demo()
    Dim fso As New FileSystemObject  '定义一个文件系统对象
    Dim fld As Folder, sr As String
    n = 0
    sr = InputBox("请输入文件路径")     '显示一个文本框输入文件名
    If fso.FolderExists(sr) Then        '判断文件是否存在
        Range("a:a").ClearContents
        Set fld = fso.GetFolder(sr)
        LookUpAllFiles fld         '调用函数
        MsgBox "文件夹不存在"
    End If
End Sub
    Dim Arr(1000) As String
    Dim count As Integer
    MyFile = Dir("C:\Users\mikowoo\Desktop\EPSreport\result\" & "*.xlsx")
    coun...
Function 统计字符串出现次数(sourceStr As String, searchStr As String) As Long
	On Error GoTo Error_Handler
    统计字符串出现次数 = UBound(Split(sourceStr, searchStr))
Error_Handler_Exit:
Dim files As file
'Range(“A:A”).Clear
Set fp = Application.FileDialog(msoFileDialogFolderPicker)
fp.Show
Set paths = fp.SelectedItems
ReDim arr(1)
arr(0) = paths(1) ‘文件夹路径赋给
				
文章目录一、调用目标文件夹的方法1、Application.FileDialog方法2、视窗浏览器界面选择目标文件夹二、仅列出所有文件三、仅列出目标文件夹中所有子文件夹名四、遍历目标文件夹内所有文件、以及所有子文件夹中的所有文件 一、调用目标文件夹的方法 1、Application.FileDialog方法 Sub ListFilesTest() With Application.File...
Dim folderPath As String folderPath = "C:\YourFolderPath" ' 替换为你要遍历文件夹路径 TraverseFolder folderPath End Sub 在上面的示例代码中,`TraverseFolder` 是递归函数,它接受一个文件夹路径作为参数。首先,它遍历当前文件夹中的所有文件并进行处理(这里仅打印文件路径)。然后,它使用递归调用来遍历当前文件夹中的每个子文件夹,并继续遍历文件夹中的文件,以此类推。 你只需要将示例代码中的 `folderPath` 替换为你要遍历文件夹路径,然后运行 `Main` 子过程即可。注意确保你具有足够的权限来访问文件夹及其子文件