Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
792to796
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
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien aus Verzeíchniss lesen

Dateien aus Verzeíchniss lesen
17.08.2006 12:45:45
thomas
Hallo Zusammen,
ich bin auf der Suche nach einer Lösung ein Kompletes Verzeichniss mit Unterverzeichnis auszulesen.
Ich benötige den Dateinamen und das Anlagedatum in einer Tabelle.
Es können einige tausend Dateien in einigen 100 Ordnern sein.
Thomas

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

Betreff
Datum
Anwender
Anzeige
AW: Dateien aus Verzeíchniss lesen
17.08.2006 12:53:35
Eule
Hi Thomas
dies habe ich irgendwann mal gefunden, Autor ist mir nicht bekannt, klappt aber prima:
Option Explicit
Private 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 Enum FILE_ATTRIBUTE
FILE_ATTRIBUTE_READONLY = &H1
FILE_ATTRIBUTE_HIDDEN = &H2
FILE_ATTRIBUTE_SYSTEM = &H4
FILE_ATTRIBUTE_DIRECTORY = &H10
FILE_ATTRIBUTE_ARCHIVE = &H20
FILE_ATTRIBUTE_NORMAL = &H80
FILE_ATTRIBUTE_TEMPORARY = &H100
End Enum
Private Const INVALID_HANDLE_VALUE = -1&
Private Const MAX_PATH = 260&
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private 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 * MAX_PATH
cAlternate As String * 14
End Type
Public Sub start()
Dim myFileSystemObject As Object, myDrive As Object
Dim lngFilecount As Long
Application.ScreenUpdating = False
Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
lngFilecount = 0
Columns(1).ClearContents
For Each myDrive In myFileSystemObject.Drives
If myDrive.IsReady Then
FindFiles myDrive.DriveLetter & ":\", "*.xls", lngFilecount
End If
Next
Set myFileSystemObject = Nothing
Columns(1).AutoFit
Application.ScreenUpdating = True
End Sub

Private Sub FindFiles(ByVal strFolderPath As String, ByVal strSearch As String, _
ByRef lngFilecount As Long)
Dim WFD As WIN32_FIND_DATA, lngSearch As Long, strDirName As String
lngSearch = FindFirstFile(strFolderPath & "*.*", WFD)
If lngSearch <> INVALID_HANDLE_VALUE Then
GetFilesInFolder strFolderPath, strSearch, lngFilecount
Do
If (WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) Then
strDirName = Left$(WFD.cFileName, InStr(WFD.cFileName, Chr(0)) - 1)
If (strDirName <> ".") And (strDirName <> "..") Then _
FindFiles strFolderPath & strDirName & "\", strSearch, lngFilecount
End If
Loop While FindNextFile(lngSearch, WFD)
FindClose lngSearch
End If
End Sub


Private Sub GetFilesInFolder(ByVal strFolderPath As String, ByVal strSearch As String, _
ByRef lngFilecount As Long)
Dim WFD As WIN32_FIND_DATA, lngSearch As Long, strFileName As String
lngSearch = FindFirstFile(strFolderPath & strSearch, WFD)
If lngSearch <> INVALID_HANDLE_VALUE Then
Do
If (WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) <> _
FILE_ATTRIBUTE_DIRECTORY Then
strFileName = Left$(WFD.cFileName, InStr(WFD.cFileName, Chr(0)) - 1)
lngFilecount = lngFilecount + 1
Cells(lngFilecount, 1) = strFolderPath & strFileName
End If
Loop While FindNextFile(lngSearch, WFD)
FindClose lngSearch
End If
End Sub

aufrufen mit START
Gruss Eule
Anzeige
AW: Dateien aus Verzeíchniss lesen
19.08.2006 20:48:38
thomas
Danke super lösung
thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige