Her er noget kode til at liste alle filer i en bestemt mappe inkl. alle undermapper:
Start VB Smid en knap på din form, der skal hedde "command1" Smid en listbox på din form, der skal hedde "List1" Under Project > References, tilføjer du "Micosoft Scripting Runtime" Copy-paste nedenstående kode:
<----START KOPIERING---->
Private Sub FindFile(folder As Scripting.folder) Dim tmpFolder As Scripting.folder Dim tmpFile As Scripting.file If folder.SubFolders.Count > 0 Then For Each tmpFolder In folder.SubFolders FindFile tmpFolder '< proceduren kalder sig selv (dvs. rekursiv) Next End If If folder.Files.Count > 0 Then For Each tmpFile In folder.Files List1.AddItem tmpFile.Name Next End If End Sub
<----SLUT KOPIERING---->
OG skriv nu ikke "C:\" i første omgang - det kan tage laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaang tid at tælle alle filer. Start med et forsøg, f.eks. c:\temp, hvis der ikke er så mange filer der
Private Sub Command1_Click() Dim fso As Scripting.FileSystemObject Set fso = New Scripting.FileSystemObject List1.Clear FindFile fso.GetFolder("c:\temp") 'Ret evt. til "c:\", "c:\dokumenter" e.l. msgbox "Slut" End Sub
Private Sub FindFile(folder As Scripting.folder) Dim tmpFolder As Scripting.folder Dim tmpFile As Scripting.file If folder.SubFolders.Count > 0 Then For Each tmpFolder In folder.SubFolders FindFile tmpFolder '< proceduren kalder sig selv (dvs. rekursiv) Next End If If folder.Files.Count > 0 Then For Each tmpFile In folder.Files List1.AddItem tmpFile.Name Next End If End Sub
Du skulle nok have fortalt at du ikke bruger VB6 men VB5 - 99% af VB brugere bruger vist VB6 ;o)
Har beskrevet hvordan du refererer til MS Scripting object ovenfor
:o)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.