Beim Durchsuchen des Filesystems einzelne Ordner ausschliessen
Hallo,
ich durchsuche in meinem VBA-Code alle (Unter-)Ordner ab einem bestimmten Pfad nach Dateien mit bestimmten Kriterien:
u.a.
Dim objFileSystemObject As Object
Dim objFolder As Object
Const strPath = "xxx"
For Each objFileWithFolder In objFolder.Files
blabla
Next
Was muss ich vor "blabla" einfügen, damit bestimmte Ordner ausgeschlossen werden? Kann ich das irgendwie mit einem eingebauten "Next" machen?
Danke für eure Hilfe, Gruß
Jojo
Antwort schreiben
Antwort 1 von Marie vom 23.11.2021, 06:50 Options
vielleicht mit einem
if strPath = "xxx" then
mäh mäh
else
blabla
endif
next
Oder welches Kriterium auch immer die bestimmten Ordner haben sollen. Wäre schon sinnvoll Du drückst Dich etwas genauer aus, dass man nicht raten muss welsches die bestimmten Ordner sein sollen.
Gruß Marie
Antwort 2 von Marie vom 23.11.2021, 07:31 Options
hm, vermute mal Dein strPath sollte der Ausgangspunkt der Suche sein,
versuches mal mit
For Each Subfolder in Folder.SubFolders
if Subfolder.name <> "xyz"
Nochmal Gruß Marie
Antwort 3 von jojo7 vom 23.11.2021, 08:35 Options
Hallo Marie,
sorry, dass ich mich wohl zu undeutlich ausgedrückt habe.
Also, mit strPath steige ich ein.
Set objFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFileSystemObject.getfolder(strPath)
Danach sollen alle Ordner, die unterhalb strPath liegen, durchsucht werden. Das funktioniert auch wunderbar. Jetzt will ich aber, das bestimmte Unterordner (UND ALLE WEITEREN UNTERORDNER, die dieser enthält), NICHT in der Schleife berücksichtigt werden.
Kann ich jetzt die letzten beiden Zeilen von dir nehmen (d.h. sind Subfolder und Folder.SubFolders allgemein gültig) oder muss ich das auf meine Objekte abändern?
Danke für deine Hilfe!
Viele Grüße
Jojo