每天对着一堆表格埋头苦干,领导一催进度,你就得立刻交出一份清晰的工作明细。
想想都头大:100多个文件,随时还要新增、删减,最烦的是每个都要编序号,一改全乱,越整理越崩溃。
今天就给你分享几种懒人高效方法,从此告别手动整理,一键搞定,省心又省力。
适合:Excel 2016+ / 365,批量提取、带文件属性、可自动更新。
【主页】→【关闭并上载】→ 文件名自动导入工作表。
后续更新:右键表格 →【刷新】即可
适合:不想用 Power Query、只要文件名、可筛选类型。
复制目标文件夹路径(如D:\资料\)。
Excel 按Ctrl+F3打开【名称管理器】→【新建】。
名称:提取文件名;引用位置:=FILES("D:\资料\*.*")(*.*可改为*.xlsx等)。
确定 → 关闭名称管理器。
在 A1 输入:=INDEX(提取文件名,ROW(A1))→ 下拉填充,直到出现#REF!为止。
(可选)用=LEFT(A1,FIND(".",A1)-1)去掉扩展名。
适合:Excel 2010 及以下、需要完整路径、批量导出。
Win+R → 输入cmd→ 回车。
输入:cd /d D:\目标文件夹路径→ 回车。
输入:dir /b > 文件名列表.txt→ 回车(生成 TXT)。
回到 Excel →【数据】→【自文本 / CSV】→ 选中文件名列表.txt→ 导入。
适合:需要自定义、一键执行、提取大小 / 日期等。
新建 Excel → 另存为.xlsm(启用宏)。
按Alt+F11打开 VBA → 右键【VBAProject】→【插入】→【模块】。
粘贴以下代码:
Sub
提取文件夹文件名()
DimfsoAsObject,folderAsObject,fileAsObject
DimiAsInteger,folderPathAsString
WithApplication.FileDialog(msoFileDialogFolderPicker)
.Title="选择要提取的文件夹"
If.Show=-1ThenfolderPath=.SelectedItems(1)&"\"ElseExitSub
EndWith
Setfso=CreateObject("Scripting.FileSystemObject")
Setfolder=fso.GetFolder(folderPath)
i=1
Cells.Clear
Range("A1:B1")=Array("文件名","完整路径")
ForEachfileInfolder.Files
i=i+1
Cells(i,1)=file.Name
Cells(i,2)=file.Path
Next
EndSub
按F5运行 → 选择文件夹 → 自动生成列表。
适合:几十以内文件、不想用工具 / 命令。
打开文件夹 → 全选文件 → 右键【复制为路径】。
粘贴到 Excel → 选中整列 →Ctrl+H打开替换。
查找内容:粘贴文件夹路径(如D:\资料\)→ 替换为:空 → 全部替换。
(可选)再替换.*为空,去掉扩展名。