我有一个复杂的问题,解释起来更复杂,但让我开始吧。
我在 excel 单元格中有一条路径(路径导致共享),我想在 VBA 中执行此操作。
我想获取上次修改日期最短的文件(文件最后在该文件夹中修改),但不确定我正在扫描的文件夹有多少子文件夹。
我的问题是,如何扫描文件夹以查找文件的上次修改日期以及如何扫描该文件夹的子文件夹(如果有子文件夹)?
我有一个复杂的问题,解释起来更复杂,但让我开始吧。
我在 excel 单元格中有一条路径(路径导致共享),我想在 VBA 中执行此操作。
我想获取上次修改日期最短的文件(文件最后在该文件夹中修改),但不确定我正在扫描的文件夹有多少子文件夹。
我的问题是,如何扫描文件夹以查找文件的上次修改日期以及如何扫描该文件夹的子文件夹(如果有子文件夹)?
试试这个代码:
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