Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateien auflisten code abändern

Dateien auflisten code abändern
27.08.2008 21:07:04
Rocky
Hallo fans,
ich habe gestern von Tom den folgenden Code bekommen.
Option Explicit
Dim FSO, FO, FU, F
Dim lRow As Long
Dim icol As Integer

Public Sub Ordner_Auflisten()
Set FSO = CreateObject("Scripting.FileSystemObject")
icol = 0
lRow = 0
GetSubFolders "U:\"
End Sub


Function GetSubFolders(Pfad)
Set FO = FSO.GetFolder(Pfad)
Set FU = FO.SubFolders
On Error Resume Next
For Each F In FU
lRow = lRow + 1
icol = icol + 1
Cells(lRow, icol) = F.Name
GetSubFolders F.Path
Next
icol = icol - 1
End Function


mit diesem werden alle Ordner in einem Verzeichnis in Zeilen und Spalten aufgelistet.
Das ist super so wie es ist. ich hatte jetzt noch gern die darin befindlichen dateien mit darin.
kann mir jemand den Code abändern.
Danke euch
Rocky

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien auflisten code abändern
28.08.2008 14:37:36
fcs
Hallo Rocky,
mit folgenden Anpassungen werden die Dateien nach dem Ordner um 1 Spalte nach rechts versetzt gelistet.
Die Berücksichtigung der Leseberechtigung für die Unterordner machte das ganze leider etwas komplizierter. Falls man diese weglässt, dann werden ggf. die Spalten nicht korrekt angeordnet.
Gruß
Franz

Option Explicit
Dim FSO, FO, FU, F
Dim lRow As Long
Dim icol As Integer
Public Sub Ordner_Auflisten()
Application.ScreenUpdating = False
Set FSO = CreateObject("Scripting.FileSystemObject")
icol = 0
lRow = 0
ActiveSheet.UsedRange.Clear
Call DateienListen(strPath:="U:\")
GetSubFolders "U:\"
Application.ScreenUpdating = True
MsgBox "Fertig"
End Sub
Function GetSubFolders(Pfad)
Set FO = FSO.GetFolder(Pfad)
Set FU = FO.SubFolders
On Error Resume Next
For Each F In FU
lRow = lRow + 1
icol = icol + 1
Cells(lRow, icol) = F.Name
If IsEmpty(F) Then 'Probleme beim Zugriff auf Unterordner
Cells(lRow, icol) = "!keine Leseberechtigung!"
icol = icol - 1
Else
If DateienListen(strPath:=F.Path) = False Then
Cells(lRow, icol) = "!Problem beim Dateien lesen!"
End If
End If
GetSubFolders F.Path
Next
icol = icol - 1
End Function
Private Function DateienListen(strPath As String) As Boolean
Dim objFile
On Error GoTo FEHLER
DateienListen = True
With Application.FileSearch
.NewSearch
.LookIn = strPath
.SearchSubFolders = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For Each objFile In .FoundFiles
lRow = lRow + 1
Cells(lRow, icol + 1) = Replace(objFile, IIf(Right(strPath, 1) = "\", strPath, _
strPath & "\"), "")
Next
End If
End With
Exit Function
FEHLER:
'Fehler beim Auslesen des Ordners
DateienListen = False
End Function


Anzeige
Spitze
29.08.2008 07:37:02
Rocky
Mesch echt spitze.
hab mir erlaubt es um eine Ordnerauswahl zu erweitern:
Option Explicit
Dim FSO, FO, FU, F
Dim lRow As Long
Dim icol As Integer
Dim fd As FileDialog

Public Sub Ordner_Auflisten()
Application.ScreenUpdating = False
Set FSO = CreateObject("Scripting.FileSystemObject")
icol = 0
lRow = 0
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
If fd.Show = -1 Then
Call DateienListen(strPath:=(fd.SelectedItems(1)))
GetSubFolders (fd.SelectedItems(1))
Else
Exit Sub
End If
'ActiveSheet.UsedRange.Clear
Application.ScreenUpdating = True
MsgBox "Fertig"
End Sub


Function GetSubFolders(Pfad)
Set FO = FSO.GetFolder(Pfad)
Set FU = FO.SubFolders
On Error Resume Next
For Each F In FU
lRow = lRow + 1
icol = icol + 1
Cells(lRow, icol) = F.Name
If IsEmpty(F) Then 'Probleme beim Zugriff auf Unterordner
Cells(lRow, icol) = "!keine Leseberechtigung!"
icol = icol - 1
Else
If DateienListen(strPath:=F.Path) = False Then
Cells(lRow, icol) = "!Problem beim Dateien lesen!"
End If
End If
GetSubFolders F.Path
Next
icol = icol - 1
End Function



Private Function DateienListen(strPath As String) As Boolean
Dim objFile
On Error GoTo FEHLER
DateienListen = True
With Application.FileSearch
.NewSearch
.LookIn = strPath
.SearchSubFolders = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
For Each objFile In .FoundFiles
lRow = lRow + 1
Cells(lRow, icol + 1) = Replace(objFile, IIf(Right(strPath, 1) = "\", strPath, _
strPath & "\"), "")
Next
End If
End With
Exit Function
FEHLER:
'Fehler beim Auslesen des Ordners
DateienListen = False
End Function


Danke nochmal.
Rocky
PS.: 'ActiveSheet.UsedRange.Clear hatte alles wieder gelöscht - hab ich rausgenommen

Anzeige
Ordner farbig?
29.08.2008 12:06:57
Rocky
Hallo,
nen kleinigkeit hab ich noch.
ist auch noch möglich die Ordner in einer anderen Farbe darzustellen. So das Sie einfacher von den aufgelisteten Datei zu unterscheiden sind.
Gruß und Danke sagt
Rocky
AW: Ordner farbig?
29.08.2008 19:51:00
fcs
Hallo Rocky,
zum Einfärben der Ordner in der folgenden Prozedur eine Zeile einfügen
Gruß
Franz

Function GetSubFolders(Pfad)
Set FO = FSO.GetFolder(Pfad)
Set FU = FO.SubFolders
On Error Resume Next
For Each F In FU
lRow = lRow + 1
icol = icol + 1
Cells(lRow, icol) = F.Name
Cells(lRow, icol).Interior.ColorIndex = 6           'gelb einfärben
If IsEmpty(F) Then 'Probleme beim Zugriff auf Unterordner
Cells(lRow, icol) = "!keine Leseberechtigung!"
icol = icol - 1
Else
If DateienListen(strPath:=F.Path) = False Then
Cells(lRow, icol) = "!Problem beim Dateien lesen!"
End If
End If
GetSubFolders F.Path
Next
icol = icol - 1
End Function


Anzeige
Genial
30.08.2008 20:31:11
Rocky
Einfach super.
Genau was ich wollte.

Gruß Rocky



Wenn unter den Blinden der Einäugige König ist, dann findet man hier die Herren der Ringe!


299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige