Salvataggio automatico file



  • Salvataggio automatico file di mik (utente non iscritto) data: 09/01/2017 14:35:29

    Ciao a tutti,
    premetto a tutti che sono nuovo nel campo codici VBA... Vi spiego il problema: io ho un file excel il quale voglio che nel momento che viene salvato, venga rinominato con un dato in una delle celle e reindirizzato direttamente in un cartella specificata. Fino a qui non ho avuto molto problemi, però dato che il file deve essere utilizzato da gente non molto abile su excel vorrei che il comando per far partire la mia macro sia legato alla selezione del tasto "salva con nome" e qui mi blocco. Aiutatemi per favore, non ho idea di come procedere
     
    Sub SalvaConNome()
      Cartella = "C:prova"  'percorso completo su cui salvare
      NomeFile = Range("c4").Value  'cella da cui prendere il nome file
      NomeFoglio = "Foglio1"        'nome esatto del foglio da copiare
      
      If NomeFile = "" Then Exit Sub
      If Right(NomeFile, 4) <> ".xls" Then NomeFile = NomeFile & ".xls"
         
      Sheets(NomeFoglio).Copy
       
      ActiveWorkbook.SaveAs Filename:=Cartella & NomeFile, FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
    End Sub


  • di Albatros54 data: 09/01/2017 15:21:01

    Se il file che tu apri, quando viene chiuso deve essere SEMPRE salvato con i dati che tu hai nelle celle , puoi fare partire la macro associandola all'evento
    Workbook_BeforeClose, che lancia la macro prima che il file venga chiuso, se ho capito
    albatros54


  • di mik (utente non iscritto) data: 09/01/2017 15:37:10

    scusa l'ignoranza ma dove lo devo inserire l'evento all'interno della macro??


  • di Albatros54 data: 09/01/2017 15:45:07

    Apri il file di excel, vai su menu sviluppo, click sull'icona VBA,ti trivi sull'editor VBA, nel menu a SX trovi la lista dei tuoi fogli e in fondo ThisWorkbook,click su ThisWorkbook,in alto click sulla combobox di SX e selezioni Workbook, click sulla combox di DX e selezioni " Workbook_BeforeClose",immetti il tuo codice tra Private e end sub, solo il codice , no il nome della sub Salvaconnome.
    ciao
    albatros54


  • di mik (utente non iscritto) data: 09/01/2017 16:40:14

    Perfetto! Sono riuscito a farcela, grazie mille!!!!


  • di mik (utente non iscritto) data: 11/01/2017 10:46:28

    ragazzi vorrei aggiungere una piccola modifica, vorrei che prima di chiudere il file oltre a salvarmi automaticamente il file rinominandomelo e salvandolo nella cartella me lo invii in automatico ad un indirizzo e un altro in cc.
    Mi spiego meglio:
    - l'indirizzo mail in cc è fisso, mentre per quanto riguarda l'indirizzo principale è più complesso perchè nel mio folgio1 ho un campo numerico che mi distingue il centro di costo e nel foglio2 ho un elenco di tutti i centri di costo(numerici) con di fianco l'indirizzo email. Quindi vorrei che dal campo numerico (foglio1) lui trovi la mail collegata (foglio2).
    -la mail deve essere composta da un oggetto e un corpo preimpostato.

    E' fattibile?

    Vi copio qui il codice da modificare
     
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
     Cartella = "C:prova"  'percorso completo su cui salvare
      NomeFile = Range("c4").Value  'cella da cui prendere il nome file
      NomeFoglio = "Foglio1"        'nome esatto del foglio da copiare
      
      If NomeFile = "" Then Exit Sub
      If Right(NomeFile, 4) <> ".xls" Then NomeFile = NomeFile & ".xls"
         
      Sheets(NomeFoglio).Copy
       
      ActiveWorkbook.SaveAs Filename:=Cartella & NomeFile, FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
    End Sub


  • di mik (utente non iscritto) data: 16/01/2017 14:11:28

    Nel frattempo sono riuscito a creare un file di prova, così da rendere più facile per voi la comprensione della mia richiesta...


  • di mik (utente non iscritto) data: 03/02/2017 11:26:19

    ciao, scusate se vi disturbo ancora sono sopra a questo problema da settimane e non ne esco... so che essendo in molti a fare richieste non si può pretendere che la propria richiesta venga evasa in tempi brevissimo, quindi io provo a chiedere nuovamente un aiuto sperando che qualcuno riesca a trovare un attimo per rispondere. grazie a tutti in anticipo