Auswahl aktueller Dateien

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


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Auswahl aktueller Dateien
von: Lutz
Geschrieben am: 17.07.2002 - 19:04:47

Hallo,

ich benötige ein kleines Tool, mit dem ich aus einem Ordner die jeweils neueste Datei herauslesen kann. Also "Mappe020102.xls" ist neuer als "Mappe020101.xls" usw. Die Dateien sind immer fast identisch, in einer anderen Datei sollen lediglich die Verknüpfungen auf die neuerer gesetzt werden (wie das geht, weiss ich.)

Beste Grüße

Lutz H. Janne


nach oben   nach unten

Re: Auswahl aktueller Dateien
von: Coach
Geschrieben am: 18.07.2002 - 06:42:02

Hallo Lutz,

das geht mit folgender VBA-Funktion:
Function AktuellsteDatei(Pfad, Dateimaske As String) As String
Application.Volatile
Dim Datei As FileSearch
Dim Letzte As String
Dim i As Integer
On Error Resume Next
AktuellsteDatei = ""
Set Datei = Application.FileSearch
With Datei
.NewSearch
.Filename = Dateimaske
.LookIn = Pfad
.SearchSubFolders = False
.LastModified = msoLastModifiedAnyTime
If .Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then
AktuellsteDatei = .FoundFiles(1)
End If
End With
End Function

Aufruf z.B. mit
AktuellsteDatei("C:\Meine", "Mappe*.xls")

Liefert die Datei mit dem "größten" Namen. Man kann auch
msoSortByFileName gegen msoSortByLastModified tauschen, dann ist es die zuletzt geänderte Datei.

Gruß Coach

nach oben   nach unten

Re: Auswahl aktueller Dateien
von: Coach
Geschrieben am: 18.07.2002 - 06:42:03

Hallo Lutz,

das geht mit folgender VBA-Funktion:
Function AktuellsteDatei(Pfad, Dateimaske As String) As String
Application.Volatile
Dim Datei As FileSearch
Dim Letzte As String
Dim i As Integer
On Error Resume Next
AktuellsteDatei = ""
Set Datei = Application.FileSearch
With Datei
.NewSearch
.Filename = Dateimaske
.LookIn = Pfad
.SearchSubFolders = False
.LastModified = msoLastModifiedAnyTime
If .Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then
AktuellsteDatei = .FoundFiles(1)
End If
End With
End Function

Aufruf z.B. mit
AktuellsteDatei("C:\Meine", "Mappe*.xls")

Liefert die Datei mit dem "größten" Namen. Man kann auch
msoSortByFileName gegen msoSortByLastModified tauschen, dann ist es die zuletzt geänderte Datei.

Gruß Coach

nach oben   nach unten

Re: Auswahl aktueller Dateien
von: Hajo_Zi
Geschrieben am: 18.07.2002 - 06:42:15

Hallo Lutz

so ganz klar ist mir nicht was Du willst. Mit folgendem Makro kannst Du die neuste Datei in einem Verzeichnis feststellen


Sub Dateiliste_Neu()
'   jüngste Datei feststellen
    Dim strVerzeichnis As String
    Dim StrDatei As String
    Dim As Integer
    Dim StrTyp As String
    Dim Dateiname As String
    Dim Dateiname_neu As String
    Dim Zeit As Date
    strVerzeichnis = "E:\Eigene Dateien\Hajo\"
    StrTyp = "*.xls"
    Dateiname = Dir(strVerzeichnis & StrTyp)
    Dateiname_neu = Dateiname
    Zeit = FileDateTime(strVerzeichnis & Dateiname)
    Do While Dateiname <> ""
        If Zeit < FileDateTime(strVerzeichnis & Dateiname) Then
            Zeit = FileDateTime(strVerzeichnis & Dateiname)
            Dateiname_neu = Dateiname
        End If
        Dateiname = Dir
    Loop
    MsgBox " Die jüngste Datei ist " & Dateiname_neu
End Sub

Gruß Hajo

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Auswahl aktueller Dateien"