繁体   English   中英

打开文件夹VBA中最小的文件

[英]Opening the youngest file in a folder VBA

您好,我正在尝试打开文件夹中的最新文件(修改日期)。 该代码使用循环遍历文件并找到最新的修改,但是使用“ Workbooks.Open strFilename”打开文件时,它说文件(已被标识为“最年轻”的文件可以这对我来说没有意义,因为错误消息说文件'test young'-找不到文件名,但是在循环中很明显找到了它。

Sub copynewdata()

Dim FileSys As FileSystemObject
Dim objFile As File
Dim myFolder
Dim strFilename As String
Dim dteFile As Date

Dim Ref As Object, CheckRefEnabled%
CheckRefEnabled = 0
With ThisWorkbook
    For Each Ref In .VBProject.References
        If Ref.Name = "Scripting" Then
            CheckRefEnabled = 1
            Exit For
        End If
    Next Ref
    If CheckRefEnabled = 0 Then
        .VBProject.References.AddFromGUID "{420B2830-E718-11CF-893D-00A0C9054228}", 1, 0
    End If
End With

'set path for files - change for your folder
Const myDir As String = "\\C:\Test"

'set up filesys objects
Set FileSys = New FileSystemObject
Set myFolder = FileSys.GetFolder(myDir)

'loop through each file and get date last modified. If largest date then store Filename
dteFile = DateSerial(1900, 1, 1)
For Each objFile In myFolder.Files
    If objFile.DateLastModified > dteFile Then
        dteFile = objFile.DateLastModified
        strFilename = objFile.Name
    End If
Next objFile
Workbooks.Open strFilename
'Set Source_Workbook = Workbooks(strFilename).Open(Target_Path)

Set FileSys = Nothing
Set myFolder = Nothing

结束子

有人能帮忙吗?

strFilename ,您具有文件名-但没有路径。 将打开命令更改为

Workbooks.Open myDir & "\\" & strFilename

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM