Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1396to1400
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ordner auslesen und aktuelle Dateinamen einlesen

Ordner auslesen und aktuelle Dateinamen einlesen
08.12.2014 11:51:05
jonw
Hallo,
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

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner auslesen und aktuelle Dateinamen einlesen
08.12.2014 12:07:38
Beverly
Hi,
ohne deinen Code genauer angesehen zu haben: weshalb sortierst du nicht nach dem Einlesen das Ganze nach Spalte C aufsteigend?


AW: Ordner auslesen und aktuelle Dateinamen einlesen
08.12.2014 12:21:00
jonw
Das tue ich bereits. Allerdings möchte ich die Dateien vom nächsten Tag ja wieder einlesen. Dies geschieht wieder in alphabethischer Reihenfolge. Deshalb habe ich folgende Reihenfolge der Makros beim Starten meiner Excel-Datei eingebaut:
- Start
- Öffnen des Makros, welches nach dem Alphabet sortiert
- Einlesen der Dateinamen
- Öffnen des Makros, welches nach dem Datum sortiert
Diese Reihenfolge funktioniert für meine Zwecke jedoch nicht, da ich noch andere Dinge wie z.B. Kommentare manuell und nicht automatisch eingebe, was logischerweise nicht anders geht. Dadurch werden meine Daten durcheinander gewürfelt. Etwas kompliziert. Jedenfalls habe ich diesen Plan jetzt verworfen und möchte es wie eingangs beschrieben machen.

Anzeige
AW: Ordner auslesen und aktuelle Dateinamen einlesen
08.12.2014 16:06:48
jonw
Wenn weitere Fragen sind, bitte stellen! Bin ein wenig verzweifelt. :(

Unklare Aufgabenstellung - o.w.T.
08.12.2014 17:40:07
Beverly


AW: Unklare Aufgabenstellung - o.w.T.
10.12.2014 14:44:25
jonw
Aufgabe ist folgende:
"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."
Was ist unklar?

AW: Unklare Aufgabenstellung - o.w.T.
11.12.2014 14:12:57
Beverly
Hi,
ich sehe jedoch nicht, wie dies das Problem lösen soll, wenn du nachträglich Kommentare eingefügt hast und dann möglicherweise eine Datei aus dem Ordner löschst - dann stimmt die Reihenfolge doch auch nicht und die Kommentare stehen an anderer Stelle.
Beim normalen Sortieren im Tabellenblatt werden Kommentar übrigens mitsortiert - man muss natürlich alle relevanten Spalten in die Sortierung einbeziehen.


AW: Unklare Aufgabenstellung - o.w.T.
12.12.2014 10:08:56
jonw
Hallo Beverly,
es gibt keinen Grund dafür, dass die Dateien gelöscht werden sollten.
Ich kann es leider nicht besser erklären, als in meinen vorherigen Posts. Ich habe alle relevanten Spalten in die Sortierung einbezogen. Jedoch funktioniert die oben angegebene Reihenfolge nicht, sofern man Dinge (z.B. Kommentare) manuell einfügt. Sie funktioniert nur, wenn alle Daten automatisch eingefügt werden.

Anzeige
AW: Unklare Aufgabenstellung - o.w.T.
12.12.2014 10:32:18
Beverly
Hi,
ich habe es gerade nocheinmal mit Excel2010 gestestet - eingefügte Kommentare werden auch in dieser Version korrekt mit ihren zugehörigen Zellen mitsortiert.


309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige