LookIn Problem
19.06.2008 10:08:00
Reinhard
mit dem nachstehenden Code lese ich die Namen der xls-Dateien aus einem Verzeichnis samt Unterverzeichnissen aus. Das klappt wohl auch.
Nur, wenn ich bei LookIn wie im Beispiel ein nicht existierendes Verzeichnis angebe, so kommt kein Fehler sondern der Code liefert mir die Dateinamen aus dem aktuellen Arbeitsverzeichnis zurück. genauso wie wenn ich LoookIn einfach weglasse.
Gebe ich ein existierendes Verzeichnis an, so wird korrekt daraus gelesen.
Meine Frage nun, gibt es eine Möglichkeit Filesearch dazu zu bringen nur in dem bei LookIn anggebenen Verzeichnis zu suchen und wenn dieses nicht existiert mir da nicht Dateien aus einem anderen Verzeichnis zu präsentieren sondern es soll bitteschön eine Fehlermeldung bringen oder keine Dateien zurückliefern.
Workarounds wie vor Filesearch mit FolderExist und/oder DriveExist das Vorhandensein des Verzeihcnisses zu überprüfen und auszuwerten sind mir bekannt.
Zusatzfrage, ist dieses Verhalten von LookIn auch bei XL2002 und XL2003 zu beobachten? Bei XL2007 hat sich das ja erledigt mit dem FileSearch :-)
Option Explicit
Sub DatenEinlesen()
Dim wkbNeu As Workbook, wksDataSheet As Worksheet, fs As FileSearch
Dim F As Long
Application.ScreenUpdating = False
Workbooks.Add
Set wkbNeu = ActiveWorkbook
Set fs = Application.FileSearch
'MsgBox Dir("Y:\AusDateiAuslesen\Daten\/nul")
'MsgBox Dir("H:\/nul")
With fs
.NewSearch
.LookIn = "Y:\AusDateiAuslesen\Daten"
.SearchSubFolders = True
.Filename = "*.xls"
If .Execute() > 0 Then
For F = 1 To .FoundFiles.Count
wkbNeu.Sheets(1).Cells(F, 1) = .FoundFiles(F)
Next F
Else
MsgBox "There were no files found."
End If
End With
wkbNeu.Activate
Application.ScreenUpdating = True
End Sub
Danke ^ Gruß
Reinhard