Avatar billede rasmus1234 Nybegynder
12. oktober 2004 - 12:30 Der er 10 kommentarer og
1 løsning

Folderlist i excel

Jeg har engang fundet et program på www.download.com, hvor man kan importere en folder med filnavne ind i et excelark. Men jeg kan ikke finde det, nu, hvor jeg endeligt skal bruge det.

Er der nogen, der kender et sådan program??
Avatar billede martin_moth Mester
12. oktober 2004 - 13:49 #1
Nop

Men det er rimeligt let at lave selv, hvis du har forstand på VBA. Har du det?
Avatar billede rasmus1234 Nybegynder
12. oktober 2004 - 14:17 #2
nej desværre - jeg forstår ikke hvordan dét kan være let!?
Avatar billede martin_moth Mester
12. oktober 2004 - 14:21 #3
Hvis du kunne VBA ville det være let for dig...
Avatar billede martin_moth Mester
12. oktober 2004 - 14:21 #4
Når jeg lige får 5 minutter skal jeg nok lave det for dig, hvis du da kan bruge en VBA løsning
Avatar billede rasmus1234 Nybegynder
12. oktober 2004 - 14:30 #5
Det ville være rigtigt rigtigt fedt - hvis det lykkedes så opretter jeg et ekstra spørgsmål til dig, så du kan få 100 point. Det har du mindst fortjent.
Avatar billede martin_moth Mester
12. oktober 2004 - 15:01 #6
1. Tools > macro > record new macro
2. Giv den navnet "VisFiler" - eller havd du vil kalde den
3. Gør et eller andet - fx. marker en celle, og stop optagningen.

Så har du en macro der hedder noget du selv har valgt, men som ikke rigtig gør noget fornuftigt. Så den macro ændrer du:

4. Tools > macro > macros
5. Marker din macro ("VisFiler"), og tryk Edit
6. Al den kode, der står mellem 'Sub VisFiler()' og 'End Sub' skifter du ud med den kode jeg har givet dig herunder:

Dim FSO As Object
Dim Dir As Object
Dim Fil As Object
Dim i As Long
Dim sti As String
MsgBox "Dette er meget meget simpelt, med en beskeden indsats kunne programmet blive helt pænt med kanpper og andet gejl ;o)"
sti = InputBox("Indtast sti til folder (f.eks. 'C:\temp'", "Indtast sti", "C:\temp")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Dir = FSO.GetFolder(sti)
Set Fil = Dir.Files
i = 1
Cells(i, 1).Formula = "Filnavn"
Cells(i, 2).Formula = "Filstørrelse (byte)"
Cells(i, 3).Formula = "Fil oprettet dato"
For Each Fil In Dir.Files
  i = i + 1
  Cells(i, 1).Formula = Fil.Name
  Cells(i, 2).Formula = Fil.Size
  Cells(i, 3).Formula = Fil.DateCreated
Next Fil


NB: Koden tager IKKE højde for fejl - fx. hvis du indtaster c:\\ eller en sti der ikke findes. Det ville være meget nemt at fixe - men jeg havde jo kun 5 minutter ;o)
Avatar billede martin_moth Mester
12. oktober 2004 - 15:03 #7
PS: Når du opretter macroen (punkt 1 ovenfor) kan du angive en shortcut, så du kan køre den ved f.rks. at taste "Ctrl+Y".

Hvis du ikke gør det, kan du lave en knap på din toolbar der aktivere macroen, eller starte den "manuelt" ved at gå til Tool > Macro > Macros, markere VisFiler, og trykkepå Run
Avatar billede rasmus1234 Nybegynder
12. oktober 2004 - 15:21 #8
Du ER for vild - det virker MONSTER godt. Læg et svar på http://www.eksperten.dk/spm/549554
Avatar billede rasmus1234 Nybegynder
26. november 2004 - 10:27 #9
Kan man lave en VBA, hvor den ikke kun afgrænser sig til c:\foto\*.* men også tager undermapperne med?
Avatar billede martin_moth Mester
26. november 2004 - 10:59 #10
ja
Avatar billede rasmus1234 Nybegynder
26. november 2004 - 11:23 #11
jeg har oprettet et nyt spørgsmål til denne
http://www.eksperten.dk/spm/565318
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester