28. juli 2005 - 08:20Der er
10 kommentarer og 1 løsning
Oprette array med alle filer fra mappe og dens undermapper
Jeg har nedenstående funktion som udskriver alle filer der findes i en given mappe og dens undermapper.
Function ShowFolderList(folderspec) Dim fso, f, f1, s, sf, file Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(folderspec) Set sf = f.SubFolders For Each f1 in sf For Each file in f1.Files s = s & file.Name & "<br>" Next s = s & ShowFolderList(f1.Path) Next ShowFolderList = s End Function
Men hvordan omskriver jeg funktionen så den i stedet for at returnere en variabel indeholdende en HTML formateret liste, returerer et array indeholdende samtlige filer der er fundet under hovedmappen ?
Function ShowFolderList(folderspec) Dim fso, f, f1, s, sf, file Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(folderspec) For Each file in f.Files s = s & file.Name & "," Next ShowFolderList = Split(Left(s,Len(s)-1),",") End Function
Det er så kun for hovedmappen, hvis du ønsker _alle_ filer også i under mapper så -- Function ShowFolderList(folderspec) Dim fso, f, f1, s, sf, file Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(folderspec) Set sf = f.SubFolders For Each f1 in sf For Each file in f1.Files s = s & file.Name & "," Next s = s & ShowFolderList(f1.Path) Next ShowFolderList = Split(Left(s,Len(s)-1),",") End Function
ok så er du nød til at splitte strengen bagefter --- Function ShowFolderList(folderspec) Dim fso, f, f1, s, sf, file Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(folderspec) Set sf = f.SubFolders For Each f1 in sf For Each file in f1.Files s = s & file.Name & "," Next s = s & ShowFolderList(f1.Path) Next ShowFolderList = Left(s,Len(s)-1) End Function -- og så mitArr = Split(ShowFolderList(sti),",")
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.