Ist es mit Excel möglich dass die Ordner....

postaldude87

Lt. Commander
Dabei seit
Dez. 2008
Beiträge
1.277
Hi Community,

ich wollte mal die Excel Könner unter euch fragen, ob es möglich ist, dass mir Ecxel die Ordner die innerhalb eines Ordners existieren in eine Tabelle einfügt. Also wenn z.B. im Ordner Fotos viele Unterordner sind, dass mir in der Tabelle diese Unterordner alphabetisch einsortiert werden. Ist das mit Excel oder irgendwie anders irgendwie (so einfach wie möglich) möglich? Sollte ich mich unverständlich ausgedrückt haben haut mir bitte virtuell auf die Finger ;).
Schon mal Danke im Voraus!
MfG
postal
 

bare242

Ensign
Dabei seit
Apr. 2007
Beiträge
233
Wenn ich dich richtig verstanden habe, müsste "Dir-It" das richtige Tool für dich sein. Einfach mal danach googlen.
 

postaldude87

Lt. Commander
Ersteller dieses Themas
Dabei seit
Dez. 2008
Beiträge
1.277
Hey Vielen Dank! :daumen:
Genauso was hatte ich gesucht!!! :schluck:
 

DPXone

Lt. Junior Grade
Dabei seit
Mai 2009
Beiträge
478
Hast zwar schon deine Lösung mithilfe eines Programmes gefunden.
Aber falls jemand es doch mithilfe von Excel lösen und gleich visuell anpassen möchte, hab ich hier mal ein Makro geschrieben:

Code:
Option Explicit

Sub Ordner_und_Dateien_auflisten()
     Dim strStartPath As String, lngZeile As Long, intSpalte As Integer
Restart:
     strStartPath = InputBox("Geben Sie bitte einen Pfad an:", "PFAD")
     
     If Dir(strStartPath, vbDirectory) = "" Then
          MsgBox "Pfad nicht vorhanden" & Chr(10) & _
               "Bitte einen verfügbaren Pfad angeben"
          GoTo Restart
     ElseIf strStartPath = "" Then
          Exit Sub
     End If
     
     lngZeile = 1
     intSpalte = 1
     
     Application.ScreenUpdating = False
     With Cells
          .ClearContents
          .ClearFormats
     End With

     Ordner_laden strStartPath, lngZeile, intSpalte
     Columns.AutoFit
     Application.ScreenUpdating = True
End Sub

Sub Ordner_laden(ByVal strStartPath As String, ByRef lngZeile As Long, ByVal intSpalte As Integer)
     Dim objFolder As Object, objFS As Object
     Dim i As Integer

     Set objFS = CreateObject("Scripting.FilesystemObject")
     
     Set objFolder = objFS.getfolder(strStartPath)
     
     With Cells(lngZeile, intSpalte)
          .Value = objFolder.Name
          .Interior.ColorIndex = 45
          .Font.Bold = True
     End With
     lngZeile = lngZeile + 1
     intSpalte = intSpalte + 1
     
     AUFLISTUNG objFolder, lngZeile, intSpalte
End Sub

Sub AUFLISTUNG(ByVal objFolder As Object, ByRef lngZeile As Long, ByVal intSpalte As Integer)
     Dim objSubFolder As Object, objDatei As Object
     
     On Error GoTo ExitAuflistung  'Abfang von: ZUGRIFF VERWEIGERT!
     For Each objDatei In objFolder.Files
          With Cells(lngZeile, intSpalte)
               .Value = objDatei.Name
               .Font.ColorIndex = 5
               With .Offset(0, -1)
                    .Value = objFolder.Name
                    .Font.ColorIndex = 24
                    .NumberFormat = "@  *>"
               End With
          End With
          lngZeile = lngZeile + 1
     Next

     For Each objSubFolder In objFolder.subfolders
          With Cells(lngZeile, intSpalte)
               .Value = objSubFolder.Name
               .Interior.ColorIndex = 45
               .Font.Bold = True
               With .Offset(0, -1)
                    .Value = objFolder.Name
                    .Font.ColorIndex = 24
                    .NumberFormat = "@  *>"
               End With
          End With
          lngZeile = lngZeile + 1
          AUFLISTUNG objSubFolder, lngZeile, intSpalte + 1
     Next objSubFolder
ExitAuflistung:
End Sub
 
Zuletzt bearbeitet:

moquai

Banned
Dabei seit
Apr. 2004
Beiträge
16.762
Hallo,

nett gemeint, aber er wollte keine Dateien aufgelistet haben, nur Ordner.
 

DPXone

Lt. Junior Grade
Dabei seit
Mai 2009
Beiträge
478
Aso.
Gut dafür muss aus dem Makro AUFLISTUNG am Anfang einfach folgender Teil rausgelöscht werden:

Code:
     For Each objDatei In objFolder.Files
          With Cells(lngZeile, intSpalte)
               .Value = objDatei.Name
               .Font.ColorIndex = 5
               With .Offset(0, -1)
                    .Value = objFolder.Name
                    .Font.ColorIndex = 24
                    .NumberFormat = "@  *>"
               End With
          End With
          lngZeile = lngZeile + 1
     Next
 

postaldude87

Lt. Commander
Ersteller dieses Themas
Dabei seit
Dez. 2008
Beiträge
1.277
vielen dank für deine mühe DPXone, aber dieses IT-DIR Tool macht schon genau das was ich wollte, und das kinderleicht.
MfG
postal
 
Zuletzt bearbeitet:
Top