Lave mappe-sti og filnavn med VBA-kode
Jeg arbejder på en kommunal institution og har i flere år brugt en VBA-kode til at sikre at beboernes regnskaber blev gemt i rette mappe og med rette navn.Koden checker om mappe-stien eksisterer ved hjælp af en funktion (CheckMakePath). Hvis ikke vil funktionen oprette den.
Mappe- og filnavn gives dels af tekst og dels af henvisning til celler i arket.
Celle i4 indeholder et bogstav for huset - Celle E2 indeholder beboerens fulde navn - Celle A4 indeholder en startdato for regnskabet.
Regnskabet bliver således gemt i en mappe der f.eks kan hedde S:\Institution\A-huset\Beboere\Beboernavn\Regnskab\2013 med filnavnet Regnskab 03-2013 Beboernavn.xls
Dette er koden jeg har brugt og den virker (det fremhævede er mappe-stien, det i normal font er filnavnet).
With Sheets("Kassebog")
ActiveWorkbook.SaveAs CheckMakePath( "S:\Institution\" & Sheets("Kassebog").Range("I4").Text & "-huset" & "\" & "Beboere" _
& "\" & Sheets("Kassebog").Range("E2").Text & "\" & "Regnskab" & "\" & Format(Sheets("Kassebog").Range("A4"), "yyyy")) _
& "Regnskab " & Format(Sheets("Kassebog").Range("A4"), "mm-yyyy") & " " & Sheets("Kassebog").Range("E2").Text & ".xls"
End With
Nu skal jeg så eksportere regnskabet til en anden institution. De ønsker en anden mappestruktur til beboernes regnskaber, og pludselig virker koden ikke!
Regnskabet ønskes gemt i en mappe der f.eks kan hedde S:\Institution\Hus B\Regnskabsår\Beboernavn med filnavnet Regnskab 03-2013 Beboernavn.xls
I stedet bliver mappe-stien S:\Institution\Hus B\Regnskabsår og filnavnet BeboernavnRegnskab 03-2013 Beboernavn.xls
With Sheets("Kassebog")
ActiveWorkbook.SaveAs CheckMakePath("S:Institution\Beboerøkonomi\" & "Hus " & Sheets("Kassebog").Range("I4").Text & "\" _
& Format(Sheets("Kassebog").Range("A4"), "yyyy")) & "\"& Sheets("Kassebog").Range("E2").Text _
& "Regnskab " & Format(Sheets("Kassebog").Range("A4"), "mm-yyyy") & " " & Sheets("Kassebog").Range("E2").Text & ".xls"
End With
Nå, tænkte jeg, så må jeg jo tilføje backslash sådan her & "\" .
Samme mappe-sti som før oprettes og en fejlprocedure meddeler mig at filen ikke er blevet gemt!
With Sheets("Kassebog")
ActiveWorkbook.SaveAs CheckMakePath("S:\Institution\Beboerøkonomi\" & "Hus " & Sheets("Kassebog").Range("I4").Text & "\" _
& Format(Sheets("Kassebog").Range("A4"), "yyyy")) & "\"& Sheets("Kassebog").Range("E2").Text & "\" _
& "Regnskab " & Format(Sheets("Kassebog").Range("A4"), "mm-yyyy") & " " & Sheets("Kassebog").Range("E2").Text & ".xls"
End With
Det er muligvis simpelt, men jeg kan altså ikke rigtigt fange hvad der lige sker her.
Er der nogen der kan hjælpe?
