Ophalen mappenstructuur en files

Status
Niet open voor verdere reacties.

Hans Gorter

Gebruiker
Lid geworden
27 okt 2008
Berichten
97
Op school plaatsen collega's en leerlingen allerlei files en maken (sub)mappen. Het zou mooi zijn als ik de gehele mappenstructuur en files in een excelbestand kan zetten en daar een hyperlink van maak. Scheelt me eindeloos klikken. Iemand code?
 
Dank voor je reactie en tip maar dit voorbeeld is precies het tegenovergestelde van wat ik wil. Ik wil geen treestructuur maken maar uitlezen. Of begrijp ik het voorbeeld niet goed?
 
Je kan een Treeview object maken a.d.h.v. een mappenstructuur. Vertel anders eens hoe je anders die mappenstructuur in Excel zou willen zien?
 
Vul het pad in (met of zonder \ op het einde), en klik op de knop "hyperlink tree".
Kan een poosje duren bij een grote drive en 1miljoen regels van excel zou wel eens niet genoeg kunnen zijn!
Pas op, door op een hyperlink te klikken start je een bestand!
Kijk hier https://technet.microsoft.com/en-us/library/cc755121(v=ws.11).aspx, welke mogelijkheden er zijn met het "dir"-commando
zoals aanmaakdatum en eigenaar.

Code:
[SIZE=1]Option Explicit

Private Sub CommandButton1_Click()
    Dim iavntDir As Long
    Dim avntDir As Variant
        With Application    'fast
            .Calculation = xlCalculationManual
            .EnableEvents = False
            .ScreenUpdating = False
        End With
        With Worksheets("Blad1")
            .Range("A2").CurrentRegion.Offset(1, 0).Clear
            avntDir = Split(CreateObject("Wscript.Shell").Exec("cmd /c dir """ & Range("C2").Value & """ /s /b").StdOut.ReadAll, vbCrLf)
            For iavntDir = 1 To UBound(avntDir)
                .Hyperlinks.Add .Cells(iavntDir + 1, 1), avntDir(iavntDir)
            Next
            .Columns(1).AutoFit
            Application.Goto .Range("A2")
        End With
        With Application    'slow
            .Calculation = xlCalculationAutomatic
            .EnableEvents = True
            .ScreenUpdating = True
        End With
End Sub[/SIZE]
 

Bijlagen

Laatst bewerkt:
Als je er nog een filter ("*.xl*) in plaatst heb je al een stuk minder.

Code:
[COLOR=#3E3E3E]avntDir = [/COLOR]Split(CreateObject("Wscript.Shell").Exec("cmd /c dir """ & Range("C2").Value & """*.xl* /s /b").StdOut.ReadAll, vbCrLf)

en..........
Code:
For iavntDir = [SIZE=4][COLOR="#0000FF"]0[/COLOR][/SIZE] To UBound(avntDir)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan