最近使用VBA编程,要用到一个功能,使得Excel能够读取指定文件夹下的所有文件名称。使用的是Excel2010版本,但是在Excel2003版本中能够使用的FileSearch在Excel2010版中会出错,因此不得不另找其它方法,下面介绍三种方法,在Excel单元格中显示特定目录下的文件名称(文件大小,日期时间等),也可以自行修改符合自己的使用要求。在Excel2010和Excel2003版本中均测试过可行。我工作中使用繁体,第三种方法使用的是繁体,所以在简体系统下会乱码,这个不会妨碍程序运行,gongxi1是我设置的一个窗体,可忽略。第三种不仅仅能导入特定文件下的所有文件,也可以导入文件夹下的文件夹文件。第一种:Subtestit()DimkAsVariantDimmAsVariantm=1 myvar=FileList("C:\Users\ownding\SkyDrive\文档\工作事項") Fori=LBound(myvar)ToUBound(myvar) (i) Next ForEachkInmyvar Sheets("sheet1").Cells(m,1)=k m=m+1 Nextk EndSubFunctionFileList(fldrAsString,OptionalfltrAsString="*.*")AsVariant DimsTempAsString,sHldrAsString IfRight$(fldr,1)<>""Thenfldr=fldr&"" sTemp=Dir(fldr&fltr) IfsTemp=""Then FileList=Split("Nofilesfound","|")'确保返回数组 ExitFunction EndIf Do sHldr=Dir IfsHldr=""ThenExitDo sTemp=sTemp&"|"&sHldr Loop FileList=Split(sTemp,"|")EndFunction-----------------------------------------------------------------------------第二种:OptionExplicitSubListFiles() DimDirectoryAsString DimrAsLong DimfAsString DimFileSizeAsDouble (msoFileDialogFolderPicker) .InitialFileName=&"" .Title="Selectalocationcontainingthefilesyouwanttolist." .Show =0Then ExitSub
excel使用vba读取文件夹下所有文件 来自淘豆网www.taodocs.com转载请标明出处.