Excel一键获取文件夹中的所有文件名称

2025-12-11 15:40:53

1、右键工作表,点查看代码

Excel一键获取文件夹中的所有文件名称

2、插入模板,在模块中,复制以下代码,单击运行

亦或增加宏按钮

Sub 罗列所选择文件夹内的所有文件名()

    Dim FileToOpen, YN As Variant


    Dim 路径 As String, 文件对象 As String, 文件名称 As String, i As Long
    Dim Choose_rng As Range
    文件对象 = "所有文件 (*.*),*.*" '搜索所有文件

    '单选文件夹内的任意文件,目的是获取路径,如果没有选择任何文件则退出


    FileToOpen = Application.GetOpenFilename(FileFilter:=文件对象, Title:="请选择当前文件夹内的任意文件", MultiSelect:=False)
    If VBA.TypeName(FileToOpen) = "Boolean" Then
        MsgBox "没有选择文件": Exit Sub
    End If
   
    On Error Resume Next
A:
    Err.Clear
    Set Choose_rng = Application.InputBox(Prompt:="选择一个单元格", Type:=8)
    If Err.Number > 0 Then YN = MsgBox("1:选择“是”重新选择单元格" & Chr(10) & "2:选择否退出程序", vbYesNo, "未选择保存文件名的起始单元格") Else GoTo B
    If YN = vbYes Then GoTo A Else: Exit Sub
    On Error GoTo 0
B:
    路径 = StrReverse(Mid(StrReverse(FileToOpen), WorksheetFunction.Find("\", StrReverse(FileToOpen)), Len(FileToOpen)))
    文件名称 = Dir(路径 & "*.*")  '获取文件名

    Do '


        Choose_rng.Cells(1, 1).Offset(i + 1, 0) = 文件名称 '将找到的文件名写入选择的单元格
        文件名称 = Dir '查找其他文件
        i = i + 1
    Loop Until 文件名称 = ""
       
    MsgBox "写入文件名完成"
End Sub

Excel一键获取文件夹中的所有文件名称

3、选择获取文件名的文件夹中的任意一个文件

Excel一键获取文件夹中的所有文件名称

4、选择需要罗列文件名的起始位置(单元格)

Excel一键获取文件夹中的所有文件名称

5、文件名获取完成

Excel一键获取文件夹中的所有文件名称

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