Condividi tramite

Macro per backup file

Anonimo
2013-07-19T09:10:20+00:00

Buongiorno a tutti!

Per effettuare il backup d un mio file xls ho impostato la seguente macro:

Sub Macro1()

Dim NomeOrigine As String

Dim NomeDestinazione As String

NomeOrigine = Left(ActiveWorkbook.Name, (Len(ActiveWorkbook.Name) - 4))

NomeDestinazione = "W:\Backup file Installazioni PEDRO\FILE BACKUP\Pianificazione Installazioni 2013" & ".xlsm"

ActiveWorkbook.Save

ActiveWorkbook.SaveCopyAs NomeDestinazione

End Sub

Avrei però bisogno di modificarla in modo tale da:

  1. Aggiunga al nome file di salvataggio anche data e ora
  2. non vada a sovrascrivere il file precedente

Qualcuno può aiutarmi?

Grazie mille in anticipo

Max

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-07-19T14:05:13+00:00

+1

David

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-07-19T13:33:33+00:00

Anche se imposto la tua macro mi rilasca lo stesso errore qui:

 

shMe.SaveAs ("C:\Prova" & _

        Left(shMe.Name, Len(shMe.Name) - 5) _

        & FORMAT(Now, "dd-mm-yyyy_hh-mm") & ".xlsm")

    Workbooks.Open (s)

    shMe.Close

Io ho fatto e salvato il file con estensione .xlsm. Quando vado ad eliminare .xlsm, elimino 5 caratteri, non 4 come fai tu. Hai per caso i file .xls?

E funzionare funziona, vedi qui il file salvabackup.xlsm:

https://skydrive.live.com/?cid=0361684D94BB851A#cid=0361684D94BB851A&id=361684D94BB851A%21169

così come funziona l'altra:

Public Sub m()

    Dim shMe As Workbook

    Set shMe = ThisWorkbook

    shMe.SaveCopyAs ("C:\Prova" & _

        Left(shMe.Name, Len(shMe.Name) - 5) _

        & Format(Now, "dd-mm-yyyy_hh-mm_ss") & ".xlsm")

    Set shMe = Nothing

End Sub

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-07-19T10:00:48+00:00

    Innanzi tutto Grazie!

    se lancio la macro mi rilascia un errore sul FORMAT: Numero errato di argomenti o assegnazione di proprietà non valida...

    Mi fai gentilmente sapere cosa potrei fare?

    Grazie!!!!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-07-19T09:38:44+00:00

    Buongiorno a tutti!

     

    Per effettuare il backup d un mio file xls ho impostato la seguente macro:

     

    <cut>

    Avrei però bisogno di modificarla in modo tale da:

    1. Aggiunga al nome file di salvataggio anche data e ora
    2. non vada a sovrascrivere il file precedente

     

    Qualcuno può aiutarmi?

    Grazie mille in anticipo

    Max

    Questa macro fa quanto chiedi senza utilizzare SaveCopyAs:

    Public Sub m()

        Dim shMe As Workbook

        Dim s As String

        s = ThisWorkbook.FullName

        Set shMe = ThisWorkbook

        shMe.Save

        Application.ScreenUpdating = False

        shMe.SaveAs ("C:\Prova" & _

            Left(shMe.Name, Len(shMe.Name) - 5) _

            & Format(Now, "dd-mm-yyyy_hh-mm") & ".xlsm")

        Workbooks.Open (s)

        shMe.Close

        Application.ScreenUpdating = True

        Set shMe = Nothing

    End Sub

    Modifica il percorso di salvataggio(qui C:\Prova) con il tuo.

    Modifica la formattazione di data ed ora con la tua. Ti ricordo che per i nomi dei file non puoi utilizzare / \ : ecc.

    Con questo codice continuerai a lavorare sul file originale che verrà riaperto alla fine della macro.

    Altrimenti ti ha già risposto David:

    Public Sub m()

        Dim shMe As Workbook

        Set shMe = ThisWorkbook

        shMe.SaveCopyAs ("C:\Prova" & _

            Left(shMe.Name, Len(shMe.Name) - 5) _

            & Format(Now, "dd-mm-yyyy_hh-mm_ss") & ".xlsm")

        Set shMe = Nothing

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-07-19T09:37:14+00:00

    Ciao pedmas,

    per la prima domanda (aggiungere anche data ora) puoi fare così:

    NomeDestinazione = "W:\Backup file Installazioni PEDRO\FILE BACKUP\Pianificazione Installazioni 2013_" & Format(Now(), "yyyymmdd_hhmmss") & ".xlsm"

    per la seconda domanda: dipende ogni quanto salvi il file: inserendo anche l'ora (come sopra indicato) comprensiva dei minuti e dei secondi, difficilmente riuscirai a sovrascrivere il file precedente (dovresti salvare 2 volte nello stesso secondo)

    David

    La risposta è stata utile?

    0 commenti Nessun commento