文件夹内有很多不同格式的文件,怎样将它们的文件名全都自动提取到EXCEL中?
按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码贴进去,按F5执行
Sub t()
Dim s As FileSearch '定义一个文件搜索对象
Set s = Application.FileSearch
s.LookIn = "c:\" '注意路径,换成你实际的路径
s.Filename = "*.*" '搜索所有文件
s.Execute '执行搜索
Cells.Delete '表格清空
For i = 1 To s.FoundFiles.Count
Cells(i, 1) = s.FoundFiles(i) '每一行第一列填写一个文件名
Next
End Sub
Sub t()
Dim s As FileSearch '定义一个文件搜索对象
Set s = Application.FileSearch
s.LookIn = "c:\" '注意路径,换成你实际的路径
s.Filename = "*.*" '搜索所有文件
s.Execute '执行搜索
Cells.Delete '表格清空
For i = 1 To s.FoundFiles.Count
Cells(i, 1) = s.FoundFiles(i) '每一行第一列填写一个文件名
Next
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答 2008-12-28
首先你要给我们一个用VBA自动提取文件夹的路径,我给你设的路径是"F:\我的文件\excel文件"
Sub qgrmdtj()
myPath = "F:\我的文件\excel文件" '把文件路径定义给变量
n = 1
myFile = Dir(myPath & "\*.*")
Do While myFile <> ""
Cells(n, 1) = myFile
myFile = Dir '找寻下一个文件
n = n + 1
Loop
End Sub
把上面的代码复制到模块里去,按F5执行,结果就出现在A列了
Sub qgrmdtj()
myPath = "F:\我的文件\excel文件" '把文件路径定义给变量
n = 1
myFile = Dir(myPath & "\*.*")
Do While myFile <> ""
Cells(n, 1) = myFile
myFile = Dir '找寻下一个文件
n = n + 1
Loop
End Sub
把上面的代码复制到模块里去,按F5执行,结果就出现在A列了
第2个回答 2008-12-28
qgrmdtj的代码生成的是"文件名",这和楼主的要求一样,而"喜欢自作多情 "生成的结果是代路径的,好像和提问有点偏差.
第3个回答 2008-12-28
我个人觉得qgrmdtj - 副总裁 十一级 的代码比较好,一楼的也不错,谢谢qgrmdtj和 喜欢自作多情