meta data for this page
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

bilder-in-unterordner [2011/03/23 13:56] (aktuell)
Zeile 1: Zeile 1:
 +====== 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 [[/​Bildfilter|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.