16. januar 2010 - 16:15Der er
26 kommentarer og 1 løsning
filnavne
Er det muligt at lave en makro der henter alle fil navnene i en mappe og skriver dem ind i et regne ark, og man så laver nogle rettelser og så bliver filerne omdøbt efter rettelserne. Det er mp3 musik det drejer sig om
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
"ListFiles" indsætter filnavne i kolonne A og B Lav rettelser i kolonne B og kør derefter koden "Omdøb" Ret linien (sti = "C:\Users\pm\Desktop\*.*") til aktuel sti
Sub ListFiles() sti = "C:\Users\pm\Desktop\*.*" fil = Dir(sti) Do While fil <> "" Cells(rk + 1, 1) = "C:\Users\pm\Desktop\" & fil Cells(rk + 1, 2) = "C:\Users\pm\Desktop\" & fil rk = rk + 1 fil = Dir Loop End Sub
Sub Omdøb() For Each c In Columns("A").SpecialCells(xlCellTypeConstants) Name c.Value As c.Offset(0, 1).Value Next End Sub
Sub ListFiles() sti = "C:\Users\pm\Desktop\*.*" fil = Dir(sti) Do While fil <> "" Cells(rk + 1, 1) = sti & fil Cells(rk + 1, 2) = sti & fil rk = rk + 1 fil = Dir Loop End Sub
Hej den virker, Jeg prøvede selv efter at have læst denne http://www.eksperten.dk/spm/894068men gav op, men hvis du ligger et svar excelent, så får du point-
Min afslutning: Excel filen lægges ind i mappen med filer der skal rettes. excelent's kode med et par små ændringer/tilføjelser.
Sub ListFiles() Range("A:C").ClearContents sti = ThisWorkbook.Path & "\" fil = Dir(sti) Do While fil <> "" Cells(rk + 1, 1) = fil Cells(rk + 1, 2) = fil rk = rk + 1 fil = Dir Loop Range("C1").Value = sti Range("C3").Value = " 'ListFiles' indsætter filnavne i kolonne A og B" Range("C4").Value = " Lav rettelser i kolonne B og kør derefter koden 'Omdøb'" End Sub
Sub Omdøb() For Each c In Columns("A").SpecialCells(xlCellTypeConstants) Name c.Value As c.Offset(0, 1).Value Next End Sub
Jeg er igang med at teste din makro, men det driller lidt nu er alle mine mapper skrivebeskyttet så jeg tror at det er derfor den kommer med fejl i denne linje Name c.Value As c.Offset(0, 1).Value
Fik du ikke excelent´s til at virke? Det jeg tilføjede rettede:
Range("A:C").ClearContents Sletter alt i kolonne A, B og C
sti = ThisWorkbook.Path & "\" Læser sti i den mappe du har åbnet regnearket fra.
Cells(rk + 1, 1) = fil Cells(rk + 1, 2) = fil Slettet sti, så kun filnavn vises.
Range("C1").Value = sti Range("C3").Value = " 'ListFiles' indsætter filnavne i kolonne A og B" Range("C4").Value = " Lav rettelser i kolonne B og kør derefter koden 'Omdøb'" Skriver tekst i celle C1, C3 og C4.
Så hvis du sætter koden ind i et regne ark, og gemmer det. Kopier det ind i den mappe med mp3 filer du vil rette i. Kører makroen 'ListFiles' får du listen med fil navne uden sti i kolonne A og B + kommentare i C1,C3 og C4. Ret i kolonne B. Kør makro 'Omdøb' og dinne rettelser bliver udført.
i går prøvede jeg Excelent makro, og jeg syntes at den virkede i den prøve jeg lavede. Men nu driller det hele. Men jeg prøver lige den makro som du har lagt ind. Jeg kunne godt tænke mig at den også åbner filer i under mapper og retter filnavne i dem da der er mange mp3 filer
Jeg har lige testet, og det er den første excelent kom med der virker, jeg skal godt nok ændre stien 3 steder men den virker. nu skal jeg lige se om den tager undermapper med
Hvis du kan nøjes med at browswe til en mappe af gangen så prøv denne, som skriver stien i A1 og filnavne herunder Du skal stadig rette i kolonne B og derefter køre Omdøb
Sub VælgSti() Dim x As FileDialog Set x = Application.FileDialog(msoFileDialogFolderPicker) x.Show sti = x.SelectedItems(1) sti = sti & "\" Range(Range("A1"), ActiveCell.SpecialCells(xlLastCell)).Clear Range("A1") = sti fil = Dir(sti) Do While fil <> "" rk = rk + 1 Cells(rk + 1, 1) = fil Cells(rk + 1, 2) = fil fil = Dir Loop End Sub
Sub Omdøb() sti = Range("A1").Value For Each c In Range("A2:A" & Cells(5000, 1).End(xlUp).Row) Name sti & c.Value As sti & c.Offset(0, 1).Value Next End Sub
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.