VBA获取文件夹下的所有文件名和修改日期

刘博文

一、批量获取文件夹下的文件名和修改日期_效果图
二、批量获取文件夹下的文件名和修改日期_代码
Sub FileTest()
'获取文件名和修改日期
Dim path, file, i
path = Application.ThisWorkbook.path & "\"
'只是文件名 不是文件对象
file = Dir(path & "*.*")
With ThisWorkbook.Worksheets(1)
.Cells(1, 1) = "文件名"
.Cells(1, 2) = "修改日期"
i = 2
Do While file <> "" And file <> ThisWorkbook.Name
.Cells(i, 1) = file
.Cells(i, 2) = FileDateTime(path & file)
i = i + 1
'一定要 不然死循环
file = Dir
End With
'自动适应列宽
Columns("A:B").AutoFit
End Sub
三 、批量获取文件夹下的文件名和修改日期_代码讲解
1. path = Application.ThisWorkbook.path & "\"
获取代码在的这个工作簿的路径 后面加"\"为了与后面的文件名连接 组成完整路径
2. file = Dir(path & "*.*")
用Dir("路径")来获取文件名 "*.*" 为通配符 表示任何文件 但不包含文件夹 因为文件夹是没后缀名的
此处获取的file只是文件名 只是文件名 只是文件名 不是文件对象 不是文件对象 不是文件对象
3. With ThisWorkbook.Worksheets(1)
End With
采用 With 省去前面需要写的重复项
4. .Cells(1, 1) = "文件名"
.Cells(1, 2) = "修改日期"
分别在A1/A2单元格写上列名
5. Do While file <> "" And file <> ThisWorkbook.Name