15. april 2008 - 15:39Der er
25 kommentarer og 2 løsninger
Gem fil VBA
Hej! Jeg har en fil, der bliver sendt ud til vores brugere, der automatisk skal gemme filnavnet. Se nedenfor:
Sub SaveFile()
Dim FileName As String FileName = Range("c13") & " " & Range("c15") & ".xls" ActiveWorkbook.SaveAs FileName
End Sub
Jeg vil gerne have, at det kun er muligt at gemme filen en gang ved brug af makroen, da nogle af parametrene skal deaktiveres, når filen er blevet gemt. Hvordan får jeg gjort, så filen kun kan gemmes 1 gang, og hvis man så prøver at bruge makroen igen, skal der komme en meddelses, der siger: "File has already been saved - please use the template to create a new file". Derudover skal kontrolelementet "Liste" deaktiveres. Hvordan gør jeg det?
Ja, filen eksisterer allerede. Jeg er ved at lave en template, der skal ud til alle vores datterselskaber, så jeg er i gang med at teste filen af, og den skal kunne tage højde for de fleste ting.
her er hvordan du tjekker om den er der i forvejen
Sub SaveFile() Dim FileName As String If Dir(Range("c13") & " " & Range("c15") & ".xls") = "" Then FileName = Range("c13") & " " & Range("c15") & ".xls" ActiveWorkbook.SaveAs FileName Else MsgBox "File has already been saved" & vbCrLf & "please use the template to create a new file" End If End Sub
If ThisWorkbook.Name = Range("c13") & " " & Range("c15") & ".xls" Then MsgBox "File has already been saved," & vbCrLf & "please use the template to create a new file" End If
Da filen sker ud til at blive dannet på baggrund af en skabelon, vil der ikke være en sti til filen, førend den er gemt. Du kan derfor teste således:
If ThisWorkbook.Path <> "" Then MsgBox "The file has been saved before. You cannot use this tool again." End If
Fordelen/ulempen ved denne er naturligvis, at man så kan bruge værktøjet til at gemme oveni en allerede eksisterende fil, blot den nye fil ikke er gemt endnu.
Hej Kabbak! Den virker rigtigt godt, hvis man ikke ændrer nogle af parametrene, så første del fungerer perfekt. Problemet er nu, at brugerne stadigvæk kan ændre selskabsnavn og så gemme filen igen - nu under det nye navn. For at undgå det, bliver man vel nødt til at deaktivere kontrolelementet "Liste", så de ikke er i stand til at vælge et andet selskab? Jeg testede det lige ved at vælge et andet selskab og det blev bare gemt under det nye selskabs navn. Hvordan undgår man, at de kan vælge et andet selskab i listen? Angående stien så vil vi ikke kunne kontrollere, hvor de skal gemme filerne men bare være sikker på, at vi modtager filen i et filnavn, som vi kan kontrollere og derfra selv gemme den, hvor den skal ligge.
Det er jeg ked af. Håber ikke du har brugt for meget tid! Har du måske et forslag til, hvordan jeg så kan håndtere, at de ikke kan gemme den samme fil med et andet navn?
Hej igen! Jeg ændrer bare teksten, så meddelsesboksen kommer op første gang man gemmer, så virker det jo perfekt. Tusind tak for hjælpen til jer begge. Hvordan deler man points imellem jer?
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.