online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon knickknack vom 19.10.2022, 14:12 Options

Ordnersturktur auflisten bis 3.Ebene

Hallo,

ich habe im Netz ewig gesucht und nichts gefunden, vielleicht könnt ihr mir da helfen.

ich glaube eine EXCEL Tabelle, die mir die Ordnerstruktur von "//halligalli/herdamit/usw" ausliest.
Da die Ordnerstruktur mehr als 20 Ebenen in die Tiefe geht, würde ich gerne selber bestimmen können, ob es 3 oder 4 Ebenen nur auflistet.
Ausserdem wäre eine option mit Dateienlauflisten auch nützlich.

hat jemand von euch schon so etwas parat?

Danke


Antwort schreiben

Antwort 1 von KJG17 vom 19.10.2022, 15:16 Options

Hallo,

das geht z.B. problemlos mit -> ExpPrint. Das Tool kannst du nach der Installation über das Kontextmenü aufrufen und die Ordnerstruktur nach deinen Wünschen in ein Textfile ausgeben lassen. Dieses kannst du dann bei Bedarf mit Excel öffenen und über den Textkonvertierungs-Assistenten in Spalten aufteilen lassen wobei den der Back-Slash als Trennzeichen verwendet wird.

Die von dir vorzunehmenden Einstellungen in ExpPrint kannst du dir -> HIER ansehen (ging jetzt schneller als eine entsprechende Erläuterung).

Gruß
Kalle

Antwort 2 von knickknack vom 19.10.2022, 15:31 Options

Danke für die schnelle antwort..
nur hab ich ein problem mit dem installieren, da ich keine admin rechte habe. :-(

und es soll ja dann auch alles über excel und beim öffnen der datei automatisch gehen.

Antwort 3 von Elefunty vom 19.10.2022, 15:35 Options

Ich denke mal, jedenfalls solange ich das richtig verstanden habe, dass es doch etwas einfacher geht.
einfach
dir /s /b /ad >dir.txt
in die Console hacken und schon haste das gleiche file, wie es dir ExpPrint aus A#1 erzeugt hätte.
Dies lässte dann noch entsprechend A#1 zurechtstutzen und fertig.

Zitat:
dir [Pfad] -> Zum listen der Dateien/Verzeichnisse, in Pfad kannst du bei Bedarf auch direkt einen Pfad angeben z.B.:
dir //halligalli/herdamit/usw
/s -> sorgt dafür, dass "in die Tiefe" gegangen wird
/b -> sorgt dafür, dass nur die Namen/Pfade gelistet werden und nicht noch erstelldaten und so
/ad sorgt dafür, dass nur verzeichnisse angezeigt werden
>dir.txt -> leitet es von stdout in das file "dir.txt" um. da kann natürlich auch was anderes drinstehen


Ele

Antwort 4 von KJG17 vom 19.10.2022, 15:55 Options

Hallo,

Zitat:
und es soll ja dann auch alles über excel und beim öffnen der datei automatisch gehen

Dass das Einlesen der Ordnerstruktur direkt in Excel erfolgen soll hattest du so aber nicht gesagt. Da müssen wohl die Experten für VB-Script ran, zu denen ich mich nicht zähle.

Gruß
Kalle

Antwort 5 von nighty vom 20.10.2022, 08:29 Options

hi all :-)

ein beispiel :-))

gruss nighty

gibt die ebene an
VerzeichnisTiefe = 2


Private strList() As String
Private DicPuffer As String
Private lngCount As Long
Private VerzeichnisTiefe As Integer  
Public Sub Einlesen()
    lngCount = 0
    DicPuffer = "C:\Temp"
    VerzeichnisTiefe = 2
    SearchFiles DicPuffer, "*.*"
    If lngCount = 0 Then
        MsgBox "No file found"
        Exit Sub
    End If
    With ThisWorkbook.Worksheets(1)
        .Cells.Clear
        .Range(.Cells(1, 1), Cells(lngCount, 1)) = _
        WorksheetFunction.Transpose(strList)
    End With
End Sub  
Private Sub SearchFiles(strFolder As String, strFileName As String)
Dim objFolder As Object
Dim objFile As Object
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objFile In objFSO.GetFolder(strFolder).Files
If objFile.Name Like strFileName Then
ReDim Preserve strList(lngCount)
strList(lngCount) = objFile.Name
lngCount = lngCount + 1
End If
Next
For Each objFolder In objFSO.GetFolder(strFolder).Subfolders
If strFolder <> DicPuffer Then
If VerzeichnisTiefe = 2 Then Exit For
VerzeichnisTiefe = VerzeichnisTiefe + 1
End If
If VerzeichnisTiefe = 0 Then
Exit For
Else
SearchFiles strFolder & "\" & objFolder.Name, strFileName
DicPuffer = strFolder
End If
Next
End Sub

Antwort 6 von nighty vom 20.10.2022, 08:43 Options

hi all :-)

korrigiert

gruss nighty

Private strList() As String
Private DicPuffer As String
Private lngCount As Long
Private VerzeichnisTiefe As Integer
Private VerzeichnisIndex As Integer  
Public Sub Einlesen()
lngCount = 0
DicPuffer = "C:\Temp"
VerzeichnisTiefe = 0
VerzeichnisIndex = 2 'deine maxebene,null zaehlt mit
SearchFiles DicPuffer, "*.*"
If lngCount = 0 Then
MsgBox "No file found"
Exit Sub
End If
With ThisWorkbook.Worksheets(1)
.Cells.Clear
.Range(.Cells(1, 1), Cells(lngCount, 1)) = _
WorksheetFunction.Transpose(strList)
End With
End Sub
Private Sub SearchFiles(strFolder As String, strFileName As String)
    Dim objFolder As Object
    Dim objFile As Object
    Dim objFSO As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    For Each objFile In objFSO.GetFolder(strFolder).Files
        If objFile.Name Like strFileName Then
            ReDim Preserve strList(lngCount)
            strList(lngCount) = objFile.Name
            lngCount = lngCount + 1
        End If
    Next
    For Each objFolder In objFSO.GetFolder(strFolder).Subfolders
        If strFolder <> DicPuffer Then
            If VerzeichnisTiefe = 2 Then Exit For
            VerzeichnisTiefe = VerzeichnisTiefe + 1
        End If
        If VerzeichnisTiefe = VerzeichnisIndex Then
            Exit For
        Else
            SearchFiles strFolder & "\" & objFolder.Name, strFileName
            DicPuffer = strFolder
        End If
    Next
End Sub  

Ähnliche Themen

Formel in Excel (Wert soll gleichbleiben)
mel1980  23.06.2009 - 416 Hits - 3 Antworten

Excel Termine an Outlook
JCool666  08.10.2009 - 518 Hits - 5 Antworten

Zellen auslesen
Aggi11  07.10.2009 - 289 Hits - 8 Antworten

Eingabe in Zelle aufspalten
Ulle-gt5  07.10.2009 - 298 Hits - 9 Antworten

Zinsberechnung Excel bei unterschiedlichen Einzahlungen
rex  29.01.2010 - 197 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026