Copia file VBA

Funzione FileCopy VBA di Excel

File Copy è una funzione vba integrata utilizzata per copiare il file da una posizione a un'altra posizione menzionata. Per utilizzare questa funzione, è necessario menzionare il percorso del file corrente e il percorso del file di destinazione.

Ok, guardiamo la sintassi della funzione FileCopy.

  • Fonte: non è altro che da dove dobbiamo copiare il file. Dobbiamo menzionare il percorso della cartella completo.
  • Destinazione: questa è la cartella di destinazione in cui dobbiamo incollare il file copiato.

Esempi

Di seguito sono riportati gli esempi di come copiare i file utilizzando il codice VBA.

Puoi scaricare questo modello Excel per copia file VBA qui - Modello Excel per copia file VBA

Esempio 1

Cominciamo con un semplice esempio. Ho un file denominato "Vendite aprile 2019" nella cartella. Di seguito è riportata l'immagine dello stesso vale a dire " Sorgente ".

Dalla posizione sopra, voglio copiare questo file e incollarlo in una cartella diversa. Di seguito è l'immagine dello stesso vale a dire " Sorgente di destinazione".

Ok, scriviamo il codice per questo.

Apri la funzione FileCopy all'interno della procedura Sub.

Codice:

 Sotto FileCopy_Example1 ()

FileCopy

End Sub

Ora per il primo argomento, dobbiamo menzionare il percorso del file in cui si trova la nostra corrente.

Codice:

 Sotto FileCopy_Example1 ()

FileCopy "D: \ My Files \ VBA \ April Files

End Sub

Dopo aver menzionato il percorso della cartella, dobbiamo menzionare anche il file con l'estensione del file. Quindi menziona il nome del file inserendo una barra rovesciata (\).

Codice:

 Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx", End Sub 

Ora nel secondo argomento menziona dove dobbiamo incollare il file copiato.

Codice:

 Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx", "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx" End Sub 

Una cosa che dobbiamo fare di seguito, menzionando il percorso della cartella alla fine, dobbiamo menzionare anche il nome del file nell'argomento di destinazione.

Ora esegui il codice usando il tasto F5 o manualmente, quindi copierà il file dalla posizione sottostante a una posizione di destinazione.

"D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx"

"D: \ File \ VBA \ Cartella di destinazione \ Vendite aprile 2019.xlsx"

Esempio n. 2: utilizzare le variabili per memorizzare il percorso di origine e il percorso di destinazione.

Nell'esempio precedente, abbiamo fornito il percorso di origine e il percorso di destinazione direttamente alla formula. Ma questa non è la best practice per continuare, quindi memorizziamoli in variabili.

Per un esempio, guarda il codice seguente.

Codice:

 Sub FileCopy_Example2 () Dim SourcePath As String Dim DestinationPath As String SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx" DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019. xlsx "FileCopy SourcePath, DestinationPath End Sub 

Lascia che ti spieghi il codice in dettaglio.

Per prima cosa ho dichiarato due variabili.

 Dim SourcePath As String Dim DestinationPath As String 

Quindi per la prima variabile, ho assegnato il percorso della cartella da cui deve copiare il file e il nome del file insieme alla sua estensione.

SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx"

Allo stesso modo, per la seconda variabile, ho assegnato il percorso della cartella di destinazione con il nome del file e l'estensione excel.

DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx"

Quindi per la formula FileCopy, ho fornito queste variabili invece di lunghe stringhe del percorso della cartella.

FileCopy SourcePath, DestinationPath

In questo modo, possiamo utilizzare le variabili per memorizzare i percorsi e utilizzarli in modo efficiente.

Esempio n. 3 - Errore con la funzione di copia file

A volte la funzione Copia file rileva un errore di "Autorizzazione negata".

Il motivo per cui otteniamo questo errore perché quando viene aperto il file di copia e se si tenta di copiare l'errore sopra riportato, quindi chiudere sempre il file ed eseguire il codice.