|
本帖最后由 billyzhang0609 于 2015-1-8 14:45 编辑
该程序的功能是将目标文件夹"C:\test\“下面的所有与输入文件名相关的文件的路径列出来。
问1:如果只要次一级的目录里面的文件,代码怎么改?
问2:如果只要存储最近一个月的文件夹的路径,代码怎么改?
只提次一级目录的文件 - Sub t()
- Dim sFolder, sFile, Fso As Object
- Dim arr(1 To 100), myPath$$, P$$, i%, x%, j%
- Set Fso = CreateObject("Scripting.FileSystemObject")
-
- myPath = ThisWorkbook.Path & "" '目录路径
- Set sFolder = Fso.getfolder(myPath)
- For Each sFile In sFolder.subfolders
- i = i + 1
- arr(i) = sFile.Name & ""
- Next
- For j = 1 To i
- P = myPath & arr(j)
- Set sFolder = Fso.getfolder(P)
- For Each sFile In sFolder.Files
- x = x + 1
- Cells(x, 1) = P & sFile.Name
- Next
- Next
- End Sub
复制代码存储时间是指修改时间?
只提次一级且修改时间少于1个月的文件 - Sub t1()
- Dim sFolder, sFile, Fso As Object
- Dim arr(1 To 100), myPath$$, P$$, i%, x%, j%
- Set Fso = CreateObject("Scripting.FileSystemObject")
-
- myPath = ThisWorkbook.Path & "" '目录路径
- Set sFolder = Fso.getfolder(myPath)
- For Each sFile In sFolder.subfolders
- i = i + 1
- arr(i) = sFile.Name & ""
- Next
- For j = 1 To i
- P = myPath & arr(j)
- Set sFolder = Fso.getfolder(P)
- For Each sFile In sFolder.Files
- If DateDiff("m", FileDateTime(P & sFile.Name), Date) <= 1 Then '月数少于等于1
- x = x + 1
- Cells(x, 1) = P & sFile.Name
- End If
- Next
- Next
- End Sub
复制代码
|
|