0

最後に変更された CSV ファイルを開くために使用した次のコードがあり、文字通りパス名と拡張子を変更しただけですが、現在は機能しません。どこが間違っているかについてのポインタをいただければ幸いです。

私が使用しているコード:

Sub ReceiptTest()

    On Error Resume Next
    With Application.FileSearch
    .LookIn = "\\K123456\shared\IT Public\ReceiptsETE\Archive\": .Filename = "*.XLS*"
    .Execute msoSortByLastModified, msoSortOrderDescending
    For FF = 1 To .FoundFiles.Count
    If FileDateTime(.FoundFiles(FF)) > LastModDate Then
    LastModDate = FileDateTime(.FoundFiles(FF))
    lmf = .FoundFiles(FF)
    End If
    Next
    End With
    Workbooks.Open (lmf)

    End Sub

ありがとう

4

3 に答える 3

0

Execl 2010 を使用しており、Application.FileSearch がサポートされていないため、コードをテストできません。

これを使用して、最新の変更されたファイルを見つけます...

Sub GetLatestFile()

Dim strFolder  As String
Dim strFile    As String
Dim latestFile As String
Dim dtLast     As Date

'   assign variables
    strFolder = "C:\" 'The end of this path must have a \ on it
    strFile = Dir(strFolder & "\*.*", vbNormal)    ' Any File
'   strFile = Dir(strFolder & "\*.xls*", vbNormal) ' Excel Files
'   strFile = Dir(strFolder & "\*.csv", vbNormal)  ' CSV Files

'   loop through files to find latest modified date
    Do While strFile <> ""
        If FileDateTime(strFolder & strFile) > dtLast Then
            dtLast = FileDateTime(strFolder & strFile)
            latestFile = strFolder & strFile
        End If
        strFile = Dir
    Loop

    MsgBox latestFile

End Sub
于 2013-05-31T11:00:19.327 に答える