通过VBA提取文件夹下边所有文件信息

 时间:2024-10-25 18:26:05

最近遇到一个问题:如何将文件夹里面钱砀渝测(含子文件夹)相关信息(如:路径、文件名、类型、创建时间、修改时间等)导入到Ex艘早祓胂cel表格?虽然之前曾介绍过使用cmd命令的形式提取相关信息,但后续处理起来也比较麻烦,有些信息也提取不到。网上找了好多,几乎没有找到好用的,经过一段时间的思考之后,终于找到了一些窍门。

通过VBA提取文件夹下边所有文件信息

工具/原料

操作设备:计算机

操作系统:Windows7

办公软件:Excel2010

方法/步骤

1、新建一个Excel工作表后打开,再按下【Alt+F11】组合键调出VBE编辑器。

通过VBA提取文件夹下边所有文件信息

2、点击【插入】、【模块】。

通过VBA提取文件夹下边所有文件信息

3、在模块的代码框里面输入以下VBA程序:SubGetfiles_All_Name(拘七呷憎)Dimx1,x2,x3,x4,x5,arrOnErrorResumeNext媪青怍牙'忽略运行过程中可能出现的错误Application.ScreenUpdating=False'关闭显示更新,提高运行速度x1=2'从第2行开始Setmysheet1=ThisWorkbook.Worksheets("Sheet1")'定义Sheet1Setfs=CreateObject("Scripting.FileSystemObject")'访问计算机文件mysheet1.Cells(x1,1)="D:\ABCD"'查找该文件夹《ABCD》下面所有的文件Forx2=2To1000000'预计的文件夹数量Ifmysheet1.Cells(x2,1)<>""ThenSetfo=fs.getfolder(mysheet1.Cells(x2,1))'该路径下的文件夹ForEachfdInfo.subfolders'获取该文件夹下面所有的子文件夹x1=x1+1arr=Array(fd.Path,fd.Name,fd.Type,fd.DateCreated,fd.DateLastModified,fd.Size)'获取文件路径、名称、类型、创建时间、最后修改时间、大小Forx5=0To5mysheet1.Cells(x1,x5+1)=arr(x5)'逐一写入单元格NextNextElseExitFor'退出For循环EndIfNextx4=x1Forx3=2Tox4Setfo=fs.getfolder(mysheet1.Cells(x3,1))Setfi=fo.FilesForEachfeInfi'获取该文件夹下面所有的子文件x1=x1+1arr=Array(fe.Path,fe.Name,fe.Type,fe.DateCreated,fe.DateLastModified,fe.Size)Forx5=0To5mysheet1.Cells(x1,x5+1)=arr(x5)NextNextNextApplication.ScreenUpdating=True'恢复显示更新EndSub

通过VBA提取文件夹下边所有文件信息

4、检查无误后,在功能区里面点击“运行”图标运行程序。(或者按下【F5】键运行程序)

通过VBA提取文件夹下边所有文件信息

5、稍等片刻,将会在Excel工作表上面看到要提取的相关信息。(主要与文件夹下面的文件数量有关)

通过VBA提取文件夹下边所有文件信息

知识要点分享

1、(1)“ForE瞢铍库祢ach……In……Next”虽然可以通过subfolders获取子文件夹信息,但子揍茏壅混文件夹里面的文件夹及相关信息又无法获取。(2)既然不能通过“ForEach……In……Next”提取所有信息,可以先提取文件夹的相关信息,再通过文件夹信息提取内部信息。(3)结合“For……To……Next”使用数组函数Array可以简化一些程序。

通过VBA提取文件夹下边所有文件信息

代做excel如何利用vba实现四舍五入 如何用VBA代码写入IF函数? VBA运行时错误9,下标越界 VBA工作表批量命名 怎么用VBA代码设置单元格为标准日期格式
热门搜索
吴亦凡图片 少女时代舞蹈教学视频 猪图片大全可爱 心痛的图片 巧克力图片