Avatar billede tinemusen Nybegynder
21. april 2009 - 13:16 Der er 9 kommentarer og
1 løsning

Gem fil med dato i navn

Hej,

Jeg har problemer med at få en makro til at virke. Den skal gemme filen, hvor datoen er en del af filnavnet. Håber nogen kan hjælpe.

Sub printfil()

Dim navn As String, book_name As String

book_name = ActiveWorkbook.Name
   
    Sheets(Array("File", "Specification")).Select
    Sheets(Array("File", "Specification")).Copy
    Sheets("File").Activate
    Range("A1:AB67").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Specification").Activate
    Range("A1:f200").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("File").Activate
    Range("B1").Select
   
    Application.CutCopyMode = False
    'Sheets("forside").Activate
    navn = Range("sti") & Range("print_navn") & ".xls"
    ActiveWorkbook.SaveAs Filename:=navn, FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
    Workbooks(book_name).Activate
    Worksheets("Forside").Activate
    Range("a1").Activate
    Range("J27").Select
End Sub
Avatar billede jonesw Nybegynder
21. april 2009 - 14:16 #1
Kan du se hvor fejlen kommer?
Avatar billede tinemusen Nybegynder
21. april 2009 - 14:20 #2
i denne linie:
navn = Range("sti") & Range("print_navn") & ".xls"
Avatar billede jonesw Nybegynder
21. april 2009 - 14:43 #3
Du skal sørge for at der er en en path seprarator i mellem sti og print_navn, altså "\". Det kan du få ved at bruge PathSeparator...

navn = Range("sti") & Application.PathSeparator & Range("print_navn")& ".xls"

Hjælper det?
Avatar billede tinemusen Nybegynder
21. april 2009 - 14:58 #4
Nej desværre ikke.
Avatar billede jonesw Nybegynder
21. april 2009 - 15:12 #5
Ok...
Jeg har lige lavet en lille test som ser ud som følger..

Public Sub testGem()
Dim gemNavn As String

gemNavn = Range("sti").Value & "\" & Range("navn").Value & ".xls"

MsgBox gemNavn

ActiveWorkbook.SaveAs Filename:=gemNavn, FileFormat:=xlNormal
End Sub

Det ser ud til at virke for mig...
Min værdi i "sti" = c:\Backup
og navn = test...

og en anden ting...

Jeg kan se at du har gjort følgende linje som en kommentar:
'Sheets("forside").Activate
Er det meneningen eller er det her at du har de to range objekter?
Avatar billede tinemusen Nybegynder
21. april 2009 - 15:34 #6
Jeg får samme fejl når jeg prøver din test.
Linien der er en kommentar er meningen det er en linie jeg legede med tidligere som bare ikke er blevet slettet.
Avatar billede tinemusen Nybegynder
21. april 2009 - 15:52 #7
Jeg har fået din test til at virke nu.
Hvis jeg kommentere mit select af sheets ud ser det også ud til at virke, så det er nok deroppe jeg skal lede efter fejlen.
Avatar billede jonesw Nybegynder
21. april 2009 - 22:38 #8
Har du fundet fejlen??
Avatar billede tinemusen Nybegynder
22. april 2009 - 07:36 #9
Så har jeg fået det til at virke.
Det var fordi sti og navn ikke var en del af de sheets jeg kopierede.
Men hvis du ligger et svar så sender jeg nogle point. Tak for hjælpen.
Avatar billede jonesw Nybegynder
22. april 2009 - 08:47 #10
Det var godt at du fandt fejlen...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester