04. maj 2010 - 11:47Der er
15 kommentarer og 2 løsninger
Kopiere filnavne ind i Excel-ark
Jeg har 500 filnavne, som jeg skal have kopieret til et Excel-ark, dvs. det er ikke selve dokumentet/billederne, som jeg skal have kopieret over. Det er NAVNET, STØRRELSEN samt FIL-TYPE samt evt. DATO FOR ÆNDRING.
Hvordan får jeg disse info over i et Excel-ark ?
TUSIND TAK allerede nu til den/dem, der kan hjælpe ;O)
Det skal kopieres ind fra 3 forskellige mapper. Nogle af dokumentnavnene kan forekomme i flere mapper.
Det er kun billeder (jpg, tif og eps). Ca. 3000 stk., PYH bliver helt svedt ved tanken ;O)
Ja, det er en engangsforestilling. Jeg skal bruge det i forbindelse med at vi er ved at lave ny hjemmeside og billederne er primært billeder af vore produkter. Billederne skal knyttes til varebeskrivelserne og derfor er jeg ved at gennemgå det hele.
Jeg har forsøgt at lave en tekstfil via "start" - "kør" - CMD: dir *jpg /b >jpg.txt dir *tif /b >tif.txt og dir *eps /b >eps.txt
Dette virker også ok, blot kunne jeg godt tænke mig at få oplysningerne vedr. fil-størrelse og evt. dato for ændring med.
Rem Koden anbringes under Ark1 (højreklik på arkfanen - Vis programkode) Rem Overskrift i række 1 Rem Makroen kan kaldes fra regnearket med Alt+F8 - afspil "OpretFilOversigt" Rem Udpeg mappen - klik neutralt sted heri - tryk annuller - så bliver alle filer behandlet Rem Efter kørslen - gem regnearket og kald makroen & udpeg næste mappe. Rem Mit regneark kan i givet fald fremsendes - hvis du sender en mail - @-adr. under min profil rem ===========================================
Dim sidsteRække As Long, aktuelleMappe As String Dim filNavn As String, filStørrelse As Long, filType As String, sidstÆndret As Date Dim ræk As Long, række As String Sub opretFilOversigt() sidsteRække = ActiveCell.SpecialCells(xlLastCell).Row udpegMappe
ræk = sidsteRække + 1 gennemløbAfAktuelleMappe
End Sub Private Sub udpegMappe() With Application.FileDialog(msoFileDialogOpen) .Show End With aktuelleMappe = CurDir
End Sub Private Sub gennemløbAfAktuelleMappe() Dim fs, f, fil, fc
Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(aktuelleMappe) Set fc = f.Files
Application.ScreenUpdating = False For Each fil In fc With fil filNavn = .Name filStørrelse = .Size filType = .Type sidstÆndret = Format(.DateLastModified, "dd-mm-yy") End With
Erik og Supertekst: Vær rar at lægge svar begge 2, så jeg kan give point. Kan jeg give max point (200) til jer begge på denne tråd eller er jeg nødt til at fordele?
Erik, så vidt jeg kan se, så er det ikke et svar, du har smidt. Jeg tror, at du har valgt kommentar i stedet for svar. Kan det ikke passe? Du kommer i hvert fald ikke med på "point-tavlen"
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.