上次修改日期,单元格中的文件夹路径

时间:2013-10-17 12:44:03

标签: excel vba directory last-modified

我遇到了一个复杂的问题,解释起来比较复杂,但让我开始吧。

我在excel单元格中有路径(路径指向共享),我想在VBA中执行此操作。

我想获取文件,该文件具有最短的上次修改日期(文件最后在该文件夹中被修改),但不确定我扫描的文件夹有多少个子文件夹。

我的问题是,如何扫描文件夹以查找上次修改日期的文件以及如何扫描此文件夹的子文件夹(如果有子文件夹)?

1 个答案:

答案 0 :(得分:0)

试试这段代码:

Option Explicit

Public newestFile As Object

Sub start()
  Call getNewestFile("C:\yourpath")
  MsgBox newestFile.Name
End Sub

Private Sub getNewestFile(folderPath As String)
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object

    'get the filesystem object from the system
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(folderPath)


  'go through the subfolder and call itself
  For Each objFile In objFolder.SubFolders
    Call getNewestFile(objFile.Path)
  Next

  For Each objFile In objFolder.Files
    If newestFile Is Nothing Then
      Set newestFile = objFile
    ElseIf objFile.DateLastModified > newestFile.DateLastModified Then
      Set newestFile = objFile
    End If
  Next
End Sub