我已经有一个脚本,获得文件夹中的文件列表,但我需要包括子文件夹以及,你能帮我修改这个,我试图从这里找到的答案编译的东西,但失败了。
Sub getfiles()
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.getfolder("C:\Users\cirklta\Desktop\excel reports")
For Each oFile In oFolder.Files
If oFile.DateLastModified > Now - 7 Then
Cells(i + 1, 1) = oFolder.Path
Cells(i + 1, 2) = oFile.Name
Cells(i + 1, 3) = "RO"
Cells(i + 1, 4) = oFile.DateLastModified
i = i + 1
End If
Next oFile
5条答案
按热度按时间gdrx4gfi1#
下面是一个非递归方法:
fslejnso2#
这里有一个更简单更快速的方法,它会把所有的结果写入一个文本文件,你所要做的就是打开这个文件并读取它的内容。
np8igboo3#
你可以这样做。
在“工具”下,设置对“Microsoft脚本运行时”的引用。
kr98yfug4#
@Tadas:“......但不知怎么的,它甚至没有显示为宏,我无法运行它。”
尝试将子函数声明为公共,例如公共子函数FileListingAllFolder()。私有子函数和私有函数不会显示在宏列表中。
7uzetpgm5#
我开始为自己提供一种通用函数,它返回一个文件夹对象集合,并可选地返回所有子文件夹,所有子文件夹都按升序排列。然后,只需循环遍历该集合,就可以将该集合用于任何目的。该函数如下所示:
已对该功能进行了如下测试: