如何在Excel 2010中使用VBA在目录中获取最后修改的文件

时间:2011-06-21 14:36:44

标签: excel vba excel-2010 file-search

我正在寻找一种使用VBA在Excel 2010中执行此操作的方法。

以前可以在Excel 2003中使用Application.FileSearch方法,但这已经过折旧。 (见下文)

Dim sFileName As String

sFileName = ""
With Application.FileSearch
    .NewSearch
    .LookIn = sDir
    .Filename = "*.*"
    .Execute msoSortByLastModified, msoSortOrderDescending

    If .FoundFiles.Count > 0 Then sFileName = .FoundFiles(1)

End With

如何在Excel 2010中执行此操作?

由于

1 个答案:

答案 0 :(得分:6)

如果可以使用FileSystemObject,则可以使用here描述的方法。

总结:

Dim fso As Scripting.FileSystemObject
Dim fol As Scripting.Folder
Dim fdr As Scripting.Folder
Dim fil As Scripting.File
Dim flc As Scripting.Folders

Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder("YourPathName")
Set flc = fol.SubFolders

For Each fdr In flc
  For Each fil In fdr.Files
        Debug.Print fil.DateLastModified
  Next fil
Next fdr

Set fso = Nothing
Set fol = Nothing
Set flc = Nothing