10. april 2003 - 17:12Der er
11 kommentarer og 1 løsning
Bestemt fil fra Files collection
Jeg sidder og roder lidt med FilsystemObject. Når jeg vil iterere filerne i en bestemt folder henter jeg objFolder.Files og laver:
Set objFiles = objFolder.Files
For Each objFile in objFiles ' gør noget ved hver fil - udskriv evt. navnet.... Next
MEN hvis jeg gerne vil have fil nummer 3 i "objFiles" hvad gør jeg så? Jeg har selvfølgelig sikret mig, at der er mindst 3 elementer i "objFiles" ("objFiles" er som vist et "Files" collection i et FSO Folder objekt).
Jeg har på MSDN kun kunne finde eksempler på hvorddan man itererer filerne i en bestemt folder - ikke på hvorddan jeg får fat i fil nummer X.
Så vidt jeg kan se kan du ikke umiddelbart tilgå filerne på denne måde. Hvis du prøver noget med:
Dim scobj As Scripting.FileSystemObject Dim fld As Scripting.Folder Dim fls As Scripting.Files
Set scobj = New Scripting.FileSystemObject
Set fld = scobj.GetFolder("C:\folder") Set fls = fld.Files
debug.Print fls.Item(1).Name
Dette genererer en run-time fejl.
Du kan evt. oprette din egen collection når du alligevel ittererer filerne. Du kan f.eks. et Dictionary object. Det er lidt ligesom et Array - bortset fra at du her kan spørge direkte på f.eks. navnet på en fil - da objektet oprettes med key, values - f.eks. 1, filnavn1 2, filnavn2 3, filnavn3 - herefter kan du umiddelbart spørge på din key - og få din value ud.
Synes godt om
Slettet bruger
11. april 2003 - 12:30#4
Der ville jo ikke være en ide i at allokere yderligere hukkommelse til en ny collection og i øvrig alligevel iterere den gamle for at kopiere elementerne heroveri.
Det eneste jeg ville, var at hære, om selve Files collection havde mulighed for at tilgå sine elementer via deres index.
Jeg har brugt den workaround, som cesil har anbefalet. Dog har jeg gjort det ud fra min egen tankegang og desuden før cesil oprettede sit svar.
Dette, og det, at der kun er tale om en workaround, er min begrundelse for ikke at give points for det svar selvom jeg det åbenbart er det bedste bud.
Disse forslag til "workarounds" ser jeg som et tegn på, at FSO Files collection ikke kan gøre hvad jeg søger, så jeg vælger at lukke spm. her.
Synes godt om
Slettet bruger
11. april 2003 - 12:32#5
Kan man ikke acceptere sine egne svar mere, eller er jeg blevet blind?
Synes godt om
Slettet bruger
26. august 2003 - 00:56#6
Svar
Synes godt om
Slettet bruger
26. august 2003 - 00:56#7
Jeg kan ikke acceptere mit eget svar.... Hvis noget vil have 60 points så smid et svar her...
Synes godt om
Slettet bruger
05. oktober 2003 - 12:39#8
SVar!?!?
Synes godt om
Slettet bruger
05. oktober 2003 - 12:42#9
Jeg kan da godt lave et svar, hvis det virker så laver jeg bare et nyt til dig hvor du får dine point igen.
Synes godt om
Slettet bruger
05. oktober 2003 - 18:49#10
Det virkede.... ekperten bug?
Behold du bare de points :o)
Synes godt om
Slettet bruger
05. oktober 2003 - 19:27#11
Næ, jeg laver lige et spm. til dig, jeg har jo ikke deltaget i tråden :-)
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.