Avatar billede Henrik_B Praktikant
24. januar 2014 - 12:43 Der er 1 kommentar

Backup af fil fra VBA macro.

Hejsa

Jeg vil gerne have en macro, der begynder med at lave en back-up af mit regneark, inden der skal ændres i data.

Jeg har forsøgt mig med følgende :


MsgBox "Arbejder med filen " & ThisWorkbook.Name
'Start med at lave en back-up af arket.
Dim sourcewb As Workbook
Dim p As Long
Dim FolderNavn As String, FilNavn As String

Set sourcewb = ActiveWorkbook
FolderNavn = sourcewb.FullName
MsgBox FolderNavn
p = InStrRev(FolderNavn, "\")
FilNavn = Right(FolderNavn, Len(FolderNavn) - p)
FolderNavn = Left(FolderNavn, p) & "Back-up\" & Format(Date, "YYYY-MM-DD") & " " & FilNavn
MsgBox " Nyt navn : " & FolderNavn
sourcewb.SaveAs Filename = FolderNavn, FileFormat = xlOpenXMLWorkbookMacroEnabled


Den displayer også fint mit filnavn, men derefter får jeg følgende fejlmeddelelese :

Run-time error '1004':

Method 'SaveAs' of object '-Workbook' failed


Jeg skal sige at det nye navn ser korrekt ud, og back-up folderen findes.

Jeg håber at der er nogen, der kan hjælpe.
Avatar billede supertekst Ekspert
28. januar 2014 - 11:54 #1
Er justeret lidt:

Sub test1()
Dim sourceWB As Workbook
Dim p As Long
Dim FolderNavn As String, FilNavn As String

'Start med at lave en back-up af arket.
'    MsgBox "Arbejder med filen " & ThisWorkbook.Name

    Set sourceWB = ActiveWorkbook
    FolderNavn = sourceWB.FullName
'    MsgBox FolderNavn
   
    p = InStrRev(FolderNavn, "\")
    FilNavn = Right(FolderNavn, Len(FolderNavn) - p)
    FolderNavn = Left(FolderNavn, p) & "Back-up\" & Format(Date, "YYYY-MM-DD") & " " & FilNavn
'    MsgBox " Nyt navn : " & FolderNavn
   
    Application.DisplayAlerts = False
    sourceWB.SaveAs Filename:=FolderNavn, FileFormat:=xlOpenXMLWorkbookMacroEnabled
   
    sourceWB.Close
    sourceWB.Application.Quit
    Set sourceWB = Nothing
End Sub
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

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