Excel怎样批量提取文件夹和子文件夹所有文件

2025-10-29 01:01:46

1、首先打开Microsoft Office Excel 2007,新建文档并保存文件名《Excel怎样批量提取文件夹和子文件夹所有文件 .xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以)如图。

Excel怎样批量提取文件夹和子文件夹所有文件

2、然后按下快捷键ALT+F11打开VBE(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。

Excel怎样批量提取文件夹和子文件夹所有文件

3、然后插入了一个模块1,在代码框中复制如下代码:

Option Base 1

Private Function WJM(m)

    '2020-10-20 22:32:12

    Dim m1 As String, r1 As Long, r2 As Long

    r1 = 1

    m1 = CStr(m)

    Do

        r2 = InStr(r1, m1, "\")

        If r2 <> 0 Then r1 = r2 + 1 Else r1 = r1

    Loop Until r2 = 0

    WJM = Right(m1, Len(m1) - r1 + 1)

End Function

Sub 列取所有文件名()

    '2020-10-20 22:52:57

    Dim mym, d1 As Object, d2 As Object, i, myfn, m As String, m1, mb(), mb1(), k

 民诉   On Error Resume Next

    Set d1 = CreateObject("scripting.dictionary")

    Set d2 = CreateObject("scripting.dictionary")

    m = Range("b1").Text

    d1.Add (m & "\"), ""

    i = 0

    Do While i < d1.Count

        m1 = d1.keys

        mym = Dir(m1(i), vbDirectory)

        Do While mym <> ""

            If mym <> "." And mym <> ".." Then

                If (GetAttr(m1(i) & mym) And vbDirectory) = vbDirectory Then

                    d1.Add (m1(i) & mym & "\"), ""

                End If

            End If

            mym = Dir

        Loop

        i = i + 1

    Loop

    For Each m1 In d1.keys

        myfn = Dir(m1)

        Do While myfn <> ""

            d2.Add (m1 & myfn), ""

            myfn = Dir

        Loop

    Next m1

    k = 0

    mb = d2.keys

    ReDim mb1(d2.Count, 3)

    For i = 0 To d2.Count - 1

        k = k + 1

        mb1(k, 1) = k

        mb1(k, 2) = WJM(mb(i))

        mb1(k, 3) = mb(i)

    Next i

    If Range("A" & Rows.Count).End(xlUp).Row > 4 Then

        Range("A5:C" & Range("A" & Rows.Count).End(xlUp).Row).ClearContents

    End If

    If k <> 0 Then Range("a5:C" & k + 4) = mb1

    MsgBox "完成"

End Sub

Excel怎样批量提取文件夹和子文件夹所有文件

Excel怎样批量提取文件夹和子文件夹所有文件

4、以上操作动态过程如下:

Excel怎样批量提取文件夹和子文件夹所有文件

5、回到工作表窗口,在B1填写文件夹路径,然后运行【列取所有文件名】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名,执行),在5行下列出文件名和路径,运行过程如下图。

Excel怎样批量提取文件夹和子文件夹所有文件

Excel怎样批量提取文件夹和子文件夹所有文件

6、为了方便操作,增加一个【列泛著举所有文件名】宏命令按钮,操作如下图。

Excel怎样批量提取文件夹和子文件夹所有文件

Excel怎样批量提取文件夹和子文件夹所有文件

7、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞"耻阅爹 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢