今天讲讲VBA遍历所有文件夹,之前提到过,感觉这个很是实用,以为如果要批量导入的话,能遍历操作效率杠杠的
一、VBA遍历单个文件夹
下面的内容之前已经学过,再把代码贴一下,主要是通过Dir实现:
Private Sub bianli(str As String)
'遍历功能实现区
Dim fil As String
fil = Dir(str & "\*")
Do While fil <> ""
MsgBox fil
fil = Dir
Loop
End Sub
Sub runBianli()
Dim str As String
'下面一段功能是让用户选择一个文件夹
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "E:\"
.Title = "请选择遍历的文件夹"
.Show
If .SelectedItems.Count > 0 Then
str = .SelectedItems(1)
End If
End With
'根据用户选择的文件夹进行遍历
bianli (str)
End Sub
二、VBA遍历所有子文件夹
如果需要对包括子文件夹在内的所有文件都进行遍历怎么办呢?想着和上面一样,用Dir递归调用,如果是文件,就进行相应的操作