office交流网--QQ交流群号

Access培训群:792054000         Excel免费交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

Access获取指定的文件夹下的所有文件夹和文件

2018-10-23 14:19:00
Henry D. Sy
原创
7702

很多时候,我们都需要获取文件夹下的所有文件进行处理。

前面我们分享个一个示例《Access获取文件夹内的文件名及路径》,可以获取文件夹的文件名及路径。

但是如果文件夹下还有文件夹,子文件夹等,即获取不到更下层的文件了。


如下图所示,获取Access通用平台下的所有文件夹及文件名。



运行下面代码,打开文件夹选择框:

    Dim diaFS As FileDialog
    Set diaFS = Application.FileDialog(msoFileDialogFolderPicker)
    With diaFS
        .AllowMultiSelect = False
        .Show
    End With
    If diaFS.SelectedItems.Count > 0 Then
        Me.Text0 = diaFS.SelectedItems(1)
    Else
        Me.Text0 = Null
    End If




获取文件夹下的所有文件夹及文件名的代码,这里文本框为“text0”,列表框为“lst1”

Private Sub Command7_Click()
    Dim fs As New FileSystemObject
    Dim fd As Folder
    Dim sfd As Folder
    If IsNull(Me.Text0) Then
        MsgBox "请输入文件夹"
        Me.Text0.SetFocus
        Exit Sub
    End If
    Me.lst1.RowSource = ""
    Set fd = fs.GetFolder(Me.Text0)
    ListFolder fd
End Sub

Sub ListFolder(fd As Folder)
    Dim sfd As Folder
    Dim f As File
    For Each f In fd.Files
        lst1.AddItem f.Path
    Next
    For Each sfd In fd.SubFolders
        lst1.AddItem sfd.Path
        ListFolder sfd
    Next
End Sub



获取效果如图所示:

    分享