Thema Datum  Von Nutzer Rating
Antwort
04.11.2014 18:05:25 Stefan
Solved
Blau Dateiverzeichnis mit Änderungsdatum auslesen
04.11.2014 22:42:15 Markus_K
Solved
05.11.2014 16:01:30 Stefan
Solved
17.11.2014 16:18:39 Gast61899
NotSolved

Ansicht des Beitrags:
Von:
Markus_K
Datum:
04.11.2014 22:42:15
Views:
1707
Rating: Antwort:
 Nein
Thema:
Dateiverzeichnis mit Änderungsdatum auslesen

Hallo,

 

das ist prinzipell erst mal ne clevere Idee sich die Verzeichnisliste über ein Dos-Befehl zu erstellen.

Allerdings gibst du beim Schreiben der Liste

    Print #1, "dir /b /on " & Pfad & "\*." & Format & " >>" & Pfad & "\Inhalt.txt"

an dass nur die Namen ausgegeben werden sollen.

Das ist dann das "/b" nach "dir"

Es geht leider nicht dann auch noch die Datums auszugeben.

Wenn du aber das "/b" weg läßt steht mehr in der Datei und lässt sich nicht mehr so einfach einlesen

 

Ich habe mir vor ein paar Jahren auch was zum einlesen von Musikdateien gemacht, und um ein Inhaltsverzeichnis zu bekommen.

Daraus habe ich dir mal was zusammengestellt.

 

Ausserdim schau auch mal hier: http://www.herber.de/forum/archiv/636to640/637199_Dateisuche_mit_VBA.html#637199

 

Option Explicit
Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type

Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    nFileSizeHigh As Long
    nFileSizeLow As Long
    dwReserved0 As Long
    dwReserved1 As Long
    cFileName As String * 260
    cAlternate As String * 14
End Type

Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

Declare Function FileTimeToLocalFileTime Lib "kernel32" (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long
Private Declare Function FileTimeToSystemTime Lib "kernel32" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long

Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
'Private CompareCase As Long
Const maxlong As Double = 2147483647
Const INVALID_HANDLE_VALUE = -1


Public Sub t()
Dim WFD As WIN32_FIND_DATA
Dim ft As FILETIME
Dim st As SYSTEMTIME
Dim FHandle As Long
Dim ResL As Long
Dim FN As String
Dim i As Integer
Dim d As Double
Dim datum As Date
'anzv = 0

Range("A1:C65536").ClearContents


FHandle = FindFirstFile("C:\tmp\*.*", WFD)
ResL = FHandle
If ResL <> INVALID_HANDLE_VALUE Then
    Do While ResL <> 0
        i = i + 1
        FN = ZTrim$(WFD.cFileName)
        FileTimeToLocalFileTime WFD.ftLastWriteTime, ft
        FileTimeToSystemTime ft, st
        
        Cells(i, 1) = FN
        Cells(i, 2) = DateSerial(st.wYear, st.wMonth, st.wDay)
        Cells(i, 3) = TimeSerial(st.wHour, st.wMinute, st.wSecond)
        
        ResL = FindNextFile(FHandle, WFD)
    Loop
End If
ResL = FindClose(FHandle)

End Sub

Public Function ZTrim$(s As String)
ZTrim = Left(s, InStr(1, s, Chr(0)) - 1)
End Function


 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
04.11.2014 18:05:25 Stefan
Solved
Blau Dateiverzeichnis mit Änderungsdatum auslesen
04.11.2014 22:42:15 Markus_K
Solved
05.11.2014 16:01:30 Stefan
Solved
17.11.2014 16:18:39 Gast61899
NotSolved