mit unten stehenden Code suche ich nach einer Datei.
Bin mit diesem sehr unzufrieden, weil bedingt durch die Schleife eine Suche unter umständen
sehr lange dauert. (viele Dateien in Ordner und unterordnen)
Nun ich arbeite zwar mit Office 2003, aber zwecks Kompatibilität zu Office 2007 kann
ich Application.FileSearch nicht nutzen.
Habt ihr eine alternative Funktion für mich, die schneller ist als die unten gezeigte?
Danke schon mal.
Gruß Tino
Option Explicit
Dim strFile As String, Datei As String
Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean)
' lists information about the files in SourceFolder
' example: ListFilesInFolder "C:\FolderName\", True
Dim FSO As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder, SubFolder As Scripting.Folder
Dim FileItem As Scripting.File
Dim DateiFormat As String
DateiFormat = Datei
Dim r As Long
Set FSO = New Scripting.FileSystemObject
Set SourceFolder = FSO.GetFolder(SourceFolderName)
For Each FileItem In SourceFolder.Files
' display file properties
If InStr(1, FileItem.Name, DateiFormat) > 0 Then
strFile = FileItem.Path '& FileItem.Name
Exit Sub
End If
Next FileItem
If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If
Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing
ActiveWorkbook.Saved = True
End Sub
Sub test()
Dim Pfad As String
Pfad = "D:\Bilder\"
Datei = "DSC01684.JPG"
ListFilesInFolder Pfad, True
MsgBox strFile
End Sub