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.