Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Änderungsdatum einer Datei

Betrifft: Änderungsdatum einer Datei von: Ingo
Geschrieben am: 18.08.2004 13:29:16

Hallo,

ich möchte aus einem Verzeichnis die jeweils neueste Datei kopieren. Also muss ich diese ersteinmal finden.

Wie finde ich die neueste Datei in einem Verzeichnis?

Da gibt es bestimmt eine Funktion, aber welche?

Vielen Dank!
Ingo

  


Betrifft: AW: Änderungsdatum einer Datei von: Ingo
Geschrieben am: 18.08.2004 13:40:28

Ah,

eine Funktion habe ich doch noch gefunden:

FileDateTime(filename)

Jetzt brauche ich noch ein Funktion, die alle Dateien in einem Verzeichnis durchforstet und den Namen mit dem jüngsten Datum findet......


  


Betrifft: AW: Änderungsdatum einer Datei von: Ingo
Geschrieben am: 18.08.2004 14:22:18

Ok, habs auch selber gefunden.

Es hilft schon, wenn man laut drüber nachdenkt!

Wer den code effizienter machen kann, bitte an mich mailen.


Function find_latest_file()

    Dim MyStamp As Date
    Dim MyPath As String
    Dim MyName As String
    Dim MyLatestFile As String
    

    MyPath = "L:\report\price_report\"  ' Set the path.
    MyName = Dir(MyPath, vbDirectory)   ' Retrieve the first entry.
    MyStamp = #1/12/93 12:00:00 PM#
    
    Do While MyName <> ""   ' Start the loop.
        ' Ignore the current directory and the encompassing directory.
        If MyName <> "." And MyName <> ".." Then
            ' Use bitwise comparison to make sure MyName is a directory.
            If FileDateTime(MyPath & MyName) > MyStamp Then
                MyStamp = FileDateTime(MyPath & MyName) 'store new latest timestamp
                MyLatestFile = MyName ' new latest file
            End If
        End If
        MyName = Dir    ' Get next entry.
    Loop

    MsgBox (MyLatestFile)
    
    find_latest_file = MyPath & MyName
End Function