17. juli 2008 - 23:48Der er
10 kommentarer og 1 løsning
vba kode til at scanne mappe for filnavne
Hej
jeg har en vba knap som der gemmer indholdet af et excel ark i en ny excelfil som den opretter og gemmer i en mappe på harddisken. jeg har sat navnet af filen til at være dagsdato. så hvis jeg klikker på knappen 2 gange så siger den anden gang at en fil med det navn allerede eksisterer. jeg kunne godt tænkte mig at der så ville skriver f.eks. 17-07-2008_2 som navn ved anden fil den dag og 17-07-2008_3 ved tredje fil den dag osv. men hvordan gør jeg det? jeg skal ved scanne mappen som filerne bliver gemt i for at se om der allerede er en fil med den dato?
hvis der er nogle der kan/vil skriver hele koden vil jeg være meget taknemlig. da den kode jeg har nu er optaget med en makro og er lidt langsom.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Public Sub NytArk() Dim Navn As String Worksheets.Add Navn = Date i = 1 If Not EksistererArk(Navn) Then ActiveSheet.Name = Navn Else Do i = i + 1 Navn = Date & "_" & i Loop Until Not EksistererArk(Navn) ActiveSheet.Name = Navn End If End Sub
Public Function EksistererArk(nyNavn) As Boolean For Each ark In Worksheets If ark.Name = nyNavn Then EksistererArk = True End If Next End Function
Public Function EksistererArk(nyNavn) As Boolean EksistererArk = False For Each ark In Worksheets If ark.Name = nyNavn Then EksistererArk = True exit function End If Next End Function
det er ik på arkbasis men på filbasis. Det vil sige at hvert ark ligger i en seperat fil, og det er filen der har "dato navnet" så det er mappen man skan scanne igennem og læse filnavne på de filerne der ligger der for at se om der er nogle med samme navn og hvis der er så skal filen slutte og 2,3,4 osv.
tak for koden, men nu har jeg ik prøvet koden endnu, men umiddelbart ser jeg lidt problemer.
Da excelfilen hvor man trykker på knappen ligger på et netværksdrev og der er mange brugere på netværket der bruger den, også samtidig. og brugerne åbner filen trykker på knappen og lukker excel ned igen og åbner det måske sidst på dagen og trykke på knappen igen. er der taget højde for det i koden?
det er samme mappe på netværksdrevet som kopi af excelarkene/filerne bliver gemt i, bare til info.
umiddelbart tror jeg ikke det skaber problemer - men er ikke 100% Når koden køres, skannes mappen for filer der starter med dags dato variablen nr tæller antal som matcher og tilføjes filnavn
Do Until Dir("Q:\1_NPA_enheder\RR\Bilagshistorik\" + elektroniskBilagsfil + ".xls") = "" x = x + 1 elektroniskBilagsfil = Hensættelser.TextBox169.Text & "_" & x Loop
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.