遍历文件夹(含子文件夹)方法
【VBA】遍历文件夹(含子文件夹)方法
原创 Savetime XData Analysis 2020-12-06
收录于话题
#VBA[日常]
63个
扫描二维码
获取更多精彩
Savetime


一、调用目标文件夹的方法
1、Application.FileDialog方法
Sub ListFilesTest()
With Application.FileDialog(msoFileDialogFolderPicker) '运行后出现标准的选择文件夹对话框
If .Show Then myPath = .SelectedItems(1) Else Exit Sub '如选中则返回=-1 / 取消未选则返回=0
End With
If Right(myPath, 1) <> "" Then myPath = myPath & ""
'返回的是选中目标文件夹的绝对路径,但除了本地C盘、D盘会以"C:"形式返回外,其余路径无""需要自己添加
End Sub
2、视窗浏览器界面选择目标文件夹
Sub ListFilesTest()
Set myFolder = CreateObject("Shell.Application").BrowseForFolder(0, "GetFolder", 0)
If Not myFolder Is Nothing Then myPath$ = myFolder.Items.Item.Path Else MsgBox "Folder not Selected": Exit Sub
If Right(myPath, 1) <> "" Then myPath = myPath & ""
'同样返回的是选中目标文件夹的绝对路径,但除了本地C盘、D盘会以"C:"形式返回外,其余路径无""需要添加
End Sub

二、仅列出所有文件
不包括 子文件夹、不包括子文件夹中的文件
Sub ListFilesTest()
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then myPath$ = .Sel