ich möchte über ein VBA-Makro einen Ordner auslesen und die Dateinamen von aktuellen (oder neu erstellten) .gcode-Dateien mit Datum einlesen. Das Ganze soll automatisch passieren, wenn die Excel-Datei geöffnet wird.
Soweit funktioniert das schon ganz gut. Problem dabei ist, dass Excel die Dateinamen nach dem Namen sortiert werden. Ich hätte gern die aktuellen Dateinamen in der untersten Zeile. Meine Versuche sind kläglich gescheitert. Ich habe versucht, "Dateidatum(x)" mit dem heutigen Datum zu vergleichen, um so Dateien herauszufiltern, die heute erstellt worden sind.
Wenn etwas unklar ist, bitte nachfragen.
Mein Code:
Option Explicit
Option Base 1
Sub DateienMitDoc()
Dim FPath As String
Dim FEndung As String
Dim FName As String
Dim DateiNamen() As String
Dim DateiDatum() As String
Dim X As Long
Dim I As Long
On Error GoTo ENDE
FPath = (Application.ThisWorkbook.Path & "\") ' Pfad der Suche angeben und letzten _
Slash \ hinzufügen"
FEndung = "*.gcode" ' Dateiendung für Suche festlegen
X = 1
ReDim Preserve DateiNamen(X) ' Array dimensionieren
ReDim Preserve DateiDatum(X) ' Array dimensionieren
FName = Dir(FPath & FEndung)
DateiNamen(X) = FName ' erste Datei einlesen und im Array speichern
DateiDatum(X) = FileErstDatum(FPath & FName) ' Datum/Uhrzeit der Datei einlesen und im Array _
speichern
FName = Dir
DateiDatum(X) = Format(DateiDatum(X), "dd.mm.yyyy")
Do While FName ""
X = X + 1
ReDim Preserve DateiNamen(X) ' Array dimensionieren
ReDim Preserve DateiDatum(X) ' Array dimensionieren
DateiNamen(X) = FName ' Über Schleife einlesen
DateiDatum(X) = FileErstDatum(FPath & FName) ' Datum/Uhrzeit der Datei einlesen und im Array _
speichern
DateiDatum(X) = Format(DateiDatum(X), "dd.mm.yyyy")
FName = Dir
Loop
For I = 1 To X
ActiveSheet.Range("B3:B1000000").Cells(I).Value = DateiNamen(I)
ActiveSheet.Range("C3:C1000000").Cells(I).Value = DateiDatum(I)
Next
Exit Sub
ENDE: MsgBox "Fehler aufgetreten"
End Sub
Function FileErstDatum(DATEI) As String
FileErstDatum = CreateObject("Scripting.FileSystemObject").GetFile(DATEI).DateCreated
End Function
Vielen Dank im Voraus! :)Viele Grüße