meta data for this page
Dies ist eine alte Version des Dokuments!
Bilder in Unterordner
Mit FF_GetSelection(0) erhält man eine Liste aller Bilder im aktuellen Computerverzeichnis. Will man eine Liste aller Bilder im aktuellen Verzeichnis und dessen Unterordner generieren, hilft wie so oft FileSystemObject weiter.
Man muss erst einmal alle Unterordner des aktuellen Verzeichnisses ermitteln.
VBS-Beispiel zum Auslesen des aktuellen Ordners mit allen Unterordnern
Dim objFS,objFolder Set objFS = CreateObject("Scripting.FileSystemObject") Set objFolder = objFS.GetFolder(FF_GetImagePath)
Dim Ordnerliste
call AlleOrdner(objFolder)
Set objFolder = nothing Set objFS = nothing
'Anzeige des aktiven Ordners und aller Unterordner msgbox Ordnerliste,vbInformation,"Ordner und Unterordner" '------------------------------------------------------------- Sub AlleOrdner(ByVal Startordner) Dim Unterordner
Ordnerliste = Ordnerliste & Startordner & vbNewLine
For Each Unterordner In Startordner.subfolders AlleOrdner Unterordner Next
End Sub '-------------------------------------------------------------
Um aus den Unterordnern die Bilder auszulesen, muss man noch eine Ausleseschleife für Dateien hinzufügen und, da natürlich nicht nur Bilddateien gefunden werden, die Bilder ausfiltern.
VBS-Beispiel zum Auslesen aller Bilder im aktuellen Ordner und dessen Unterordner
const Bildfilter = ".JPG.JP2.PNG.TIF.BMP"
Dim objFS,objFolder Set objFS = CreateObject("Scripting.FileSystemObject") Set objFolder = objFS.GetFolder(FF_GetImagePath)
Dim Bildsammlung 'enthält alle Bilder, getrennt mit CRLF
call AlleOrdner(objFolder) Set objFolder = nothing Set objFS = nothing
'------------------------------------------------------------- Sub AlleOrdner(ByVal Startordner) Dim Unterordner,Datei
for each Datei In Startordner.Files 'nur Dateien, die dem Bildfilter entsprechen, werden angenommen if instr(Bildfilter,"." & ucase(objFS.GetExtensionName(Datei))) > 0 then if Bildsammlung = "" then Bildsammlung = Datei else Bildsammlung = Bildsammlung & vbNewLine & Datei end if end if next
For Each Unterordner In Startordner.subfolders AlleOrdner Unterordner Next
End Sub '-------------------------------------------------------------
Die Variable 'Bildersammlung' enthält anschließend alle Bilder, getrennt durch CRLF.