'遍历文件的过程,并填充到工作表
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` 子过程即可。注意确保你具有足够的权限来访问文件夹及其子文件。