Dateien kopieren mit VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Dateien kopieren mit VBA
von: Thomas
Geschrieben am: 07.03.2005 12:13:23
Hallo liebe Excelhelfer,
ich habe ein kleines Problem und hoffe Ihr könnt mir helfen.
Mit folgendem Befehl kopiere ich mir eine Excel-Datei aus dem Netz von einem
Laufwerk in ein anderes.
fs.CopyFile "R:\Unterlagen\Prod\*.xls" _
"J:\Abteilung\Nachweise\Kopieordner\"
Bisher gabe es im Unterordner Prod auch nur eine xls-Datei, so das ich keine
Probleme beim Kopieren hatte.
Man hat aber zwischenzeitig mehrere xls-Datei in diesem Ordner eingefügt, die
sich alle nur durch das Ende des Dateinamens bzw. durch das Datum unterscheiden.
Beispiele:
Verzeichnis_alt.xls
Verzeichnis_neu.xls
Verzeichnis (gültig ab ....).xls
Und ich benötige immer nur die Datei mit dem jüngsten Datum.
Kann mir jemand bitte helfen, wie meine obige Zeile geänert werden muss, damit
ich immer nur die jüngste Datei kopiere?
Vielen Dank
Gruß
Thomas

Bild

Betrifft: AW: Dateien kopieren mit VBA
von: Bert
Geschrieben am: 07.03.2005 15:02:11
Sieh dir mal Application.Filesearch an, da gibts die Möglichkeit, Dateien sortiert
nach Datum auszugeben. Wenn du absteigend sortieren läßt, ist die erste gefundene
Datei immer die jüngste.
Bert
Bild

Betrifft: AW: Dateien kopieren mit VBA
von: Thomas
Geschrieben am: 07.03.2005 15:03:01
Hallo Thomas,
für einen Einzeiler kenne ich keine Lösung. Aber vielleicht hilft Dir dieses:
Const Max = 1024
Dim liste(Max) As String
pfad = "C:\deinpfad\"
liste(1) = Dir(pfad & "*.xls")
i = 1
Do
i = i + 1
liste(i) = Dir()
Loop Until liste(i) = "" Or i = Max
Min = FileDateTime(pfad & liste(1))
filenam = liste(1)
For j = 2 To i - 1
If FileDateTime(pfad & liste(j)) < Min Then
Min = FileDateTime(pfad & liste(j))
filenam = liste(j)
End If
Next
MsgBox (filenam) ' das ist die jüngste Datei

Viel Erfolg
Thomas
Bild

Betrifft: Danke Euch zwei, werds gleich probieren .T.
von: Thomas
Geschrieben am: 07.03.2005 15:27:53

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Dateien kopieren mit VBA"