一、仅列出目标文件夹中所有文件。(不包括 子文件夹、不包括子文件夹中的文件)
Sub ListFilesTest()With Application.FileDialog(msoFileDialogFolderPicker)If .Show Then myPath$ = .SelectedItems(1) Else Exit SubEnd WithIf Right(myPath, 1) <> "" Then myPath = myPath & ""'以上选择目标文件夹以得到路径myPathMsgBox ListFiles(myPath) '调用FSO的ListFiles过程返回目标文件夹下的所有文件名End SubFunction ListFiles(myPath$)Set fso = CreateObject("Scripting.FileSystemObject") '打开FSO脚本、建立FSO对象实例For Each f In fso.GetFolder(myPath).Files '用FSO方法遍历指定文件夹内所有文件i = i + 1: s = s & vbCr & f.Name '逐个列出文件名并统计文件个数 iNextListFiles = i & " Files:" & s '返回所有文件名的合并字符串End Function代码只是一个简单的示例,大家理解以后,就可以改编为任何自己希望的操作代码,实现对指定目标文件夹内所有文件的遍历。…………怎么样?特别容易、特别简单吧?知识介绍:Set fso = CreateObject("Scripting.FileSystemObject")建立FSO 即【文件系统对象】的实例。这以后,即可简单、直接地引用fso的各种属性(有时间可以自己慢慢研究)For Each f In fso.GetFolder(myPath).Files'用FSO方法遍历指定文件夹内所有文件fso.GetFolder(myPath) 是指对于路径myPath,使用FSO对象方法得到其文件夹.GetFolder属性然后,对于这个指定的目标文件夹,继续返回其所有文件的属性、即.Files完整的部分为: fso.GetFolder(myPath).Files然后,对于这个所有文件的集合即 fso.GetFolder(myPath).Files通过For……Each循环就可以遍历其中每一个文件了。具体地,For Each f In 中的f变量,即为每一个文件。循环中,可以使用f的各种属性。 f.Name只是其中的一种属性=文件名。评分