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.