Spostare file fra directory



  • Spostare file fra directory
    di Andra data: 02/04/2013 01:30:35

    Ariciao a tutti!
    Vorrei spostare, attraverso un pulsante, il file excel che contiene questo pulsante e tutti gli altri file della stessa directory, in un'altra directory. Come posso fare?
    Grazie



  • di Vecchio Frac data: 02/04/2013 13:49:23

    Ho giusto fatto nelle settimane scorse un pulsante per una mia collega che salva il file nella cartella corrente dell'utente e ne salva una copia in una cartella condivisa nella nostra intranet aziendale.
    Non ti risolve l'intero problema ma è uno spunto.
    Per copiare altri file della stessa directory, forse ti può interessare l'istruzione FileCopy, unita magari a Dir().
    Se vuoi qualcosa di più sofisticato (ma più robusto) allora devi rivolgerti all'oggetto FileSystemObject e ai suoi metodi (scorrere una cartella e copiare/spostare file).
     
    Option Explicit
    
    Sub SaveMe()
    Const destination_path = "\percorso di retecartella di rete condivisa"
        
        On Error GoTo gest_err
        
            With ActiveWorkbook
                .Save
                .SaveCopyAs destination_path & "" & ActiveWorkbook.Name
            End With
        
        MsgBox "Operazioni di salvataggio e copia del file sul server correttamente terminate.", vbInformation + vbOKOnly, "Tutto bene!"
        
        On Error GoTo 0
        
        Exit Sub
        
    gest_err:
        MsgBox "Attenzione, si sono verificati errori durante il salvataggio o la copia del file sul server.", vbCritical + vbOKOnly, "Errori!"
        Exit Sub
    
    End Sub






  • di Andra data: 02/04/2013 17:57:51

    In effetti avrei bisogno di un taglia incolla del file dove è presente il pulsante e non so se il file può essere spostato in un'altra cartella nonostante sia aperto.



  • di rita (utente non iscritto) data: 03/04/2013 08:26:18

    l'istruzione qui sotto che avevo fatto un po di tempo fa sposta il contenuto della cartella prova in un'altra cartella denominata "prova2" e copia sempre in quella cartella il file di partenza
    dovrai poi se non ti serve cancellare il file di partenza dalla cartella iniziale
    adattala alle tue esigenze

     
    Sub MUOVIFILE()
    Set fso = CreateObject("Scripting.FileSystemObject")
    myPath = "C:PROVA"
    FILE = myPath & "" & ActiveWorkbook.Name
    Set F = fso.GetFolder(myPath)
    For Each Fi In F.Files
    Set f2 = fso.GetFile(Fi)
    If Fi <> FILE Then
    X = Application.WorksheetFunction.Substitute(Fi, myPath & "", "")
    f2.Move ("C:PROVAPROVA2" & X)
    End If
    If Fi = FILE Then
    X = Application.WorksheetFunction.Substitute(Fi, myPath & "", "")
    f2.Copy ("C:PROVAPROVA2" & X)
    End If
    Next
    End Sub