FileSystemObject Frage
29.07.2007 02:15:00
Paul
nach einigem Suchen haben ich doch etwas passendes gefunden, das aber jedoch einen Fehler hat, oder bei mir nicht richtig funzt.
Code:
Function GetFiles(strPath As String, _
dctDict As Scripting.Dictionary, _
Optional blnRecursive As Boolean) As Boolean
' This procedure returns all the files in a directory into
' a Dictionary object. If called recursively, it also returns
' all files in subfolders.
Dim fsoSysObj As Scripting.FileSystemObject
Dim fdrFolder As Scripting.Folder
Dim fdrSubFolder As Scripting.Folder
Dim filFile As Scripting.File
' Return new FileSystemObject.
Set fsoSysObj = New Scripting.FileSystemObject
On Error Resume Next
' Get folder.
Set fdrFolder = fsoSysObj.GetFolder(strPath)
If Err 0 Then
' Incorrect path.
GetFiles = False
GoTo GetFiles_End
End If
On Error GoTo 0
' Loop through Files collection, adding to dictionary.
For Each filFile In fdrFolder.Files
dctDict.Add filFile.path, filFile.path
Next filFile
' If Recursive flag is true, call recursively.
If blnRecursive Then
For Each fdrSubFolder In fdrFolder.SubFolders
GetFiles fdrSubFolder.path, dctDict, True
Next fdrSubFolder
End If
' Return True if no error occurred.
GetFiles = True
GetFiles_End:
Exit Function
End Function
und zwar nimmt er all die leeren Ordner nicht ins Dictionary auf. Warum?
Laut Mixrosoft HP:
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarofftalk/html/office09072000.asp
funktioniert der Code.
Kennt sonst noch wer den Fehler?
danke,
Paul