5.1k Aufrufe
Gefragt in Tabellenkalkulation von ghoul-xtc Einsteiger_in (97 Punkte)
Hallo,

ich suche eine Möglichkeit, in einem Makro, die neuste Datei mit einer bestimmten Endung(.alp) zu öffnen. Ich hatte in 2003 mal folgende Lösung mit filesearch:

Application.ScreenUpdating = False
With Application.FileSearch
.LookIn = "C:\temp\"
.Filename = "*.alp"
If .Execute(msoSortByLastModified, msoSortOrderDescending) > 0 Then
Workbooks.Open "C:\temp\" & Mid(.FoundFiles(1), InStrRev(.FoundFiles(1), "\") + 1)
End If
End With
Application.ScreenUpdating = True


leider gibt es das ab 2007 nicht mehr und mein Wissen in VBA reicht leider nicht aus, das nachzubauen. Kennt jemand eine Möglichkeit? F1! :)

2 Antworten

0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Das wuerde ich in etwa abhandeln wollen, wie folgt:

Sub JuengsteDatei()
Const strVerz As String = "C:\001_Test\Test\Txt\" 'zu durchsuchendes Verzeichnis !!!!ANPASSEN!!!!
Const strExt As String = ".alp" 'zu suchende Extension !!!ANPASSEN!!!
Dim strDatei As String, strScratch As String


strScratch = Dir(strVerz & "*" & strExt)
strDatei = strScratch
Do While strScratch <> ""
If FileDateTime(strVerz & strDatei) < FileDateTime(strVerz & strScratch) Then strDatei = strScratch
strScratch = Dir()
Loop
If strDatei <> "" Then
Workbooks.Open strVerz & strDatei
Else
MsgBox "keine Datei gefunden"
End If
End Sub


Beachte beim Anpassen des "zu durchsuchenden Verzeichnisses" bitte, dass der String zwingend mit einem Backslash [ \ ] enden muss.

Cu
TheBlackBird ®
0 Punkte
Beantwortet von ghoul-xtc Einsteiger_in (97 Punkte)
Super, hat funktioniert! Vielen Dank!
...