Herbers Excel-Forum - das Archiv

Dateien kopieren mit VBA

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
Excel-Beispiele zum Thema "Dateien kopieren mit VBA"
Alle Dateien im Verzeichnis öffnen Dateien listen
400 leere Textdateien anlegen XL-Dateien in UserForm listen
XL5/7-Dateien nach XL8 konvertieren Dateien aus Listbox auslesen und öffnen
Excel-Dateien eines Ordners listen Alle Dateien ab einem bestimmten Datum listen
Alle Dateien eines Verzeichnisses drucken Textdateien verbinden