龙空技术网

EXCEL快速提取文件夹内的文件名

学点EXCEL不加班 610

前言:

现在大家对“在excel单元格内读取文件名”大概比较关注,看官们都想要学习一些“在excel单元格内读取文件名”的相关内容。那么小编在网络上汇集了一些关于“在excel单元格内读取文件名””的相关资讯,希望看官们能喜欢,大家快快来学习一下吧!

作者:祝洪忠 转自:Excel之家ExcelHome

小伙伴们好啊,今天和大家分享一个高效好玩的技巧。

如下图所示,在“测试”文件夹内,包含有两个Word文件和子文件夹“测试2”,在“测试2”文件夹内有Excel文档和另外一个子文件夹。

咱们看看如何快速获取文件夹内的所有文件名。

接下来咱们以Excel 2016为例,说说具体的操作方法:

1、依次单击【数据】→【获取数据】→【自文件】→【自文件夹】

2、点击【浏览】按钮,找到文件夹位置。

3、在数据查询编辑器中,右键单击Name字段,删除其他列。

4、最后单击【关闭并上载】。

使用此方法,可以快速提取出包含子文件夹在内的所有文件列表,如果在文件夹中增加了子文件夹或是新增了文件,只要在汇总表中单击右键→刷新。就可以可获取最新的文件名列表。

如果是低版本的Excel,还可以使用VBA代码的方法来提取:

Sub FileDir()    Dim p$, f$, k&    '获取用户选择文件夹的路径    With Application.FileDialog(msoFileDialogFolderPicker)   '选择文件夹        If .Show Then            p = .SelectedItems(1)            '选择的文件路径赋值变量P        Else            Exit Sub            '如果没有选择保存路径,则退出程序        End If    End With    If Right(p, 1) <> "\" Then p = p & "\"    f = Dir(p & "*.*")    '返回变量P指定路径下带任意扩展名的文件名    '如果有超过一个文件存在,将返回第一个找到的文件名    '如果一个文件都没有,则返回空    [a:a].ClearContents '清空A列数据    [a1] = "目录"    k = 1    Do While f <> ""    '如果文件名不为空,则……        k = k + 1        '累加文件个数        Cells(k, 1) = f        f = Dir        '第二次调用Dir函数,但不带任何参数,则将返回同一目录下的下一个文件。    Loop    MsgBox "OK"End Sub

好了,今天的内容就是这些吧,祝各位小伙伴一天好心情!

图文制作:老祝

星光

标签: #在excel单元格内读取文件名 #excel怎么获取文件夹中的文件名 #excel 获取文件名 #vb 获取文件名