Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datei Auslesen (Erstelldatum)

Datei Auslesen (Erstelldatum)
15.10.2015 22:58:59
Alex
Hallo zusammen,
ich benötige wieder eure Hilfe.
Ich muss ca. 3000 Daten aus einem Pfad auslesen.
Die Dateien können sich in verschiedene Ordner befinden, momentan benutze ich folgendes Macro das auch gut funktioniert.
In der dritten Spalte lese ich das Speicherdatum aus (FileDateTime) ich bräuchte aber das Erstelldatum und evtl. auch das Speicherdatum.
Hat jemand eine Idee ?
Vielen Dank im Voraus. :-)
Option Explicit
Dim z, unterordner As Variant
Sub Suchen_Data()
Dim Laufwerk, Dateien As String
z = 3
MsgBox "Das Aulesen dauert ca. 1,30 min "
Worksheets("Tabelle2").Select
Selection.ClearContents
[a1:AL65000] = ""
Laufwerk = ("F:\...\....")
If Laufwerk = "" Then Exit Sub
unterordner = vbYes
Dateien = "2015-*.jpg" '2015-*.jpg
If Dateien = "" Then Exit Sub
Dateisuche Laufwerk, Dateien
Worksheets("Tabelle1").Range("A9:G1253").ClearContents
'Worksheets("Tabelle1").Range("B9:G1253").ClearContents (Bereich Löschen)
End Sub
Sub Dateisuche(Laufwerk, Dateien)
Dim temp, wdhlg, Dateiname, Textzerlegen As String
On Error Resume Next
If Right(Laufwerk, 1)  "\" Then Laufwerk = Laufwerk + "\"
temp = Dir(Laufwerk & Dateien)
Do While Len(temp)
Dateiname = Laufwerk & temp
Application.StatusBar = Dateiname
Cells(z, 1).Select
Cells(z, 1) = Laufwerk & temp
'Cells(z, 2) = FileLen(Laufwerk & temp)
Cells(z, 3) = FileDateTime(Laufwerk & temp)
Cells(z, 4) = temp
z = z + 1
temp = Dir()
Loop
temp = Dir(Laufwerk, vbDirectory)
If unterordner = vbNo Then temp = ""
Do While Len(temp)
If (temp  ".") And (temp  "..") Then
If (GetAttr(Laufwerk & temp) And vbDirectory) = vbDirectory Then
Dateisuche Laufwerk & temp, Dateien
z = z - 1
wdhlg = Dir(Laufwerk, vbDirectory)
z = z + 1
Do While wdhlg  temp
wdhlg = Dir()
Loop
End If
End If
temp = Dir()
Loop
On Error GoTo 0
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei Auslesen (Erstelldatum)
17.10.2015 20:21:16
Alex
Nepumuk vielen lieben Dank, Sie sind der Guru of Vba :-)
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Erstelldatum und Änderungsdatum einer Datei mit VBA auslesen


Schritt-für-Schritt-Anleitung

Um das Erstelldatum und das Änderungsdatum einer Datei mit VBA auszulesen, kannst du folgendes Makro verwenden. Dieses Beispiel erweitert das bestehende Makro von Alex, um zusätzlich das Erstelldatum und das Änderungsdatum zu erfassen.

Option Explicit
Dim z, unterordner As Variant

Sub Suchen_Data()
    Dim Laufwerk, Dateien As String
    z = 3
    MsgBox "Das Auslesen dauert ca. 1,30 min "
    Worksheets("Tabelle2").Select
    Selection.ClearContents
    [a1:AL65000] = ""
    Laufwerk = ("F:\...\....")
    If Laufwerk = "" Then Exit Sub
    unterordner = vbYes
    Dateien = "2015-*.jpg"
    If Dateien = "" Then Exit Sub
    Dateisuche Laufwerk, Dateien
    Worksheets("Tabelle1").Range("A9:G1253").ClearContents
End Sub

Sub Dateisuche(Laufwerk, Dateien)
    Dim temp, wdhlg, Dateiname As String
    On Error Resume Next
    If Right(Laufwerk, 1) <> "\" Then Laufwerk = Laufwerk + "\"
    temp = Dir(Laufwerk & Dateien)
    Do While Len(temp)
        Dateiname = Laufwerk & temp
        Application.StatusBar = Dateiname
        Cells(z, 1).Select
        Cells(z, 1) = Laufwerk & temp
        Cells(z, 2) = FileLen(Laufwerk & temp)
        Cells(z, 3) = FileDateTime(Laufwerk & temp) ' Speicherdatum
        Cells(z, 4) = FileDateTime(CreateObject("Scripting.FileSystemObject").GetFile(Dateiname).DateCreated) ' Erstelldatum
        Cells(z, 5) = FileDateTime(CreateObject("Scripting.FileSystemObject").GetFile(Dateiname).DateLastModified) ' Änderungsdatum
        Cells(z, 6) = temp
        z = z + 1
        temp = Dir()
    Loop
    ' Ordner durchsuchen
    temp = Dir(Laufwerk, vbDirectory)
    If unterordner = vbNo Then temp = ""
    Do While Len(temp)
        If (temp <> ".") And (temp <> "..") Then
            If (GetAttr(Laufwerk & temp) And vbDirectory) = vbDirectory Then
                Dateisuche Laufwerk & temp, Dateien
                z = z - 1
            End If
        End If
        temp = Dir()
    Loop
    On Error GoTo 0
End Sub

Häufige Fehler und Lösungen

  • Fehler: Laufwerk nicht gefunden
    Lösung: Stelle sicher, dass der angegebene Pfad und das Laufwerk korrekt sind. Überprüfe, ob du Zugriff auf das Laufwerk hast.

  • Fehler: Makro läuft nicht
    Lösung: Aktiviere die Makros in Excel. Gehe zu „Datei“ > „Optionen“ > „Trust Center“ > „Trust Center-Einstellungen“ > „Makroeinstellungen“ und aktiviere die Makros.


Alternative Methoden

Du kannst auch die Windows PowerShell verwenden, um das Erstelldatum und Änderungsdatum einer Datei auszulesen. Hier ein Beispiel:

Get-ChildItem "C:\Dein\Pfad\*" | Select-Object Name, CreationTime, LastWriteTime

Diese Methode ist besonders nützlich, wenn du keine VBA-Kenntnisse hast.


Praktische Beispiele

Nehmen wir an, du möchtest die Daten für alle JPG-Dateien in einem bestimmten Ordner erfassen. Mit dem obigen VBA-Makro kannst du dies sehr einfach tun. Die Daten werden in "Tabelle1" in den Spalten A bis F ausgegeben, wobei die Spalten die Dateinamen, Dateigrößen, Speicherdaten, Erstelldaten und Änderungsdaten enthalten.


Tipps für Profis

  • Nutze Application.StatusBar, um den Fortschritt beim Auslesen der Dateien anzuzeigen. Dies verbessert die Benutzererfahrung.
  • Experimentiere mit anderen Dateiformaten, indem du die Dateien-Variable anpasst, um verschiedene Dateitypen auszulesen.
  • Verwende die Scripting.FileSystemObject-Bibliothek, um noch detailliertere Dateiinformationen zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich das Erstelldatum einer Datei auslesen?
Du kannst das Erstelldatum einer Datei mit der Methode DateCreated des FileSystemObject auslesen, wie im obigen Beispiel gezeigt.

2. Wie kann ich das Änderungsdatum einer Datei ermitteln?
Das Änderungsdatum kann ebenfalls über die Methode DateLastModified des FileSystemObject abgerufen werden. Dies ermöglicht dir, die letzten Änderungen einer Datei zu verfolgen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige