Excel VBA FileCopy

Esistono molti modi per copiare o spostare un file da una cartella a un'altra. Possiamo farlo manualmente copiando e tagliando l'icona del file e incollandolo nella cartella di destinazione. Ma quando si tratta di automatizzare questo processo di copia del file, possiamo farlo anche in VBA. Per copiare il file, abbiamo una funzione disponibile in VBA denominata come "Copia file".

Sintassi di FileCopy in Excel VBA

È molto semplice applicare File Copy in VBA. La sintassi di Copia file è come mostrato di seguito.

File Copy ha solo due componenti da alimentare. Quali sono:

  • Sorgente : qui inseriremo la posizione di origine da cui è necessario copiare il file.
  • Destinazione - E questa sarà la cartella di destinazione in cui incolleremo il file copiato.

La sintassi completa sarà nel tipo di dati String. Perché useremo il percorso del file che sarà come testo.

Come copiare un file in Excel VBA?

Ora proviamo con alcuni esempi su Copia file VBA in Excel.

Puoi scaricare questo VBA Copia un modello file Excel qui - VBA Copia un file modello Excel

Esempio n. 1 - FileCopy in VBA

Nel primo esempio, vedremo come copiare un file da una posizione di origine e incollarlo in una posizione di destinazione in un modo molto semplice.

Per questo, abbiamo bisogno di un file di qualsiasi tipo o estensione. Qui stiamo prendendo in considerazione un file Excel con estensione xlsx . Come possiamo vedere, abbiamo inserito quel file Excel in una posizione di facile accesso denominata Test .

Ora copieremo questo file con l'aiuto di FileCopy nella cartella di destinazione in basso.

Passaggio 1: per questo, vai su VBA e apri un modulo dal menu a discesa Inserisci menu a discesa come mostrato di seguito.

Passo 2: Ora nel modulo aperto, scrivi la sottocategoria di VBA FileCopy o con qualsiasi altro nome secondo la tua scelta.

Codice:

 Sottotitolo VBA_Copy1 () End Sub 

Passo 3: Ora apri direttamente la funzione FileCopy come mostrato di seguito.

Codice:

 Sub VBA_Copy1 () FileCopy (End Sub 

Passo 4: Ora tra virgolette scrivi l'indirizzo della posizione di origine seguito dal nome del file e dall'estensione come mostrato di seguito.

Codice:

 Sottotitoli VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", End Sub 

Passaggio 5: per la posizione di destinazione, inserire nuovamente il percorso tra virgolette seguito da file ed estensione.

Codice:

 Sub VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", "D: \ File VPB \ April Files \ Hello.xlsx" End Sub 

Passaggio 6: ora compila il codice ed eseguilo facendo clic sul pulsante Riproduci che si trova sotto la barra dei menu. Vedremo, il file Excel con il nome Test viene ora copiato dalla posizione di origine alla posizione di destinazione come mostrato di seguito. Poiché non vi era nulla nel file, la dimensione del file è pari a 0 KB .

Esempio n. 2 - FileCopy in VBA

In un altro esempio, vedremo come copiare il file dalla posizione di origine alla destinazione definendo la variabile. Questo processo è un po 'lungo ma più affidabile in quanto ripareremo i parametri e la variabile.

Passo 1: Ora prima apri un nuovo modulo e scrivi la sottocategoria di Copia file VBA come mostrato di seguito.

Codice:

 Sottotitolo VBA_Copy2 () End Sub 

Passaggio 2: Innanzitutto, definisci una variabile in cui inseriremo la posizione di origine del file stesso file Excel che abbiamo usato nell'esempio-1 come String.

Codice:

 Sottotitolo VBA_Copy2 () Dim FirstLocation come sottotitolo stringa 

Passaggio 3: in modo simile, avremo bisogno di un'altra variabile per la posizione di destinazione.

Codice:

 Sub VBA_Copy2 () Dim. FirstLocation come stringa Dim SecondLocation come stringa Fine Sottotitoli 

Passaggio 4: ora posiziona la posizione nella prima variabile definita che è " FirstLocation " insieme al nome del file e alla sua estensione.

Codice:

 Sub VBA_Copy2 () Dim FirstLocation come stringa Dim SecondLocation come stringa FirstLocation = "D: \ Test1 \ Hello.xlsx" End Sub 

Passaggio 5: in modo simile, fai la stessa cosa per la posizione di destinazione usando la variabile " SecondLocation" che abbiamo definito sopra.

Codice:

 Sub VBA_Copy2 () Dim FirstLocation come stringa Dim SecondLocation come stringa FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ File VPB \ April Files \ Hello.xlsx" End Sub 

Passaggio 6: ora è il momento di utilizzare la funzione FileCopy .

Codice:

 Sub VBA_Copy2 () Dim FirstLocation come stringa Dim SecondLocation come stringa FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ File VPB \ April Files \ Hello.xlsx" FileCopy End Sub 

Come da sintassi di FileCopy, dobbiamo prima inserire la posizione di origine, dove abbiamo conservato il file. Ma come abbiamo già definito le cartelle delle posizioni di origine e destinazione in precedenza per entrambe le variabili.

Step 7: Quindi qui possiamo selezionare direttamente quelle variabili. Innanzitutto selezionare la variabile di posizione di origine che è FirstLocation .

Codice:

 Sub VBA_Copy2 () Dim FirstLocation come stringa Dim SecondLocation come stringa FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ File VPB \ April Files \ Hello.xlsx" FileCopy FirstLocation End Sub 

Passaggio 8: Ancora una volta in modo simile, selezionare la variabile di posizione di destinazione che è SecondLocation come mostrato di seguito.

Codice:

 Sub VBA_Copy2 () Dim FirstLocation come stringa Dim SecondLocation come stringa FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ File VPB \ April Files \ Hello.xlsx" FileCopy FirstLocation, SecondLocation End Sub 

Passaggio 9: una volta terminato, compileremo il codice premendo il tasto funzionale F8. E se non viene trovato alcun errore, eseguire il codice. Vedremo, il file dalla posizione di origine viene copiato e incollato nella cartella di destinazione come mostrato di seguito.

Possiamo provare anche percorsi con posizioni diverse. Per il test consideriamo un'altra posizione di origine in cui avremo un file di parole.

Come possiamo vedere, il file non ha dati, quindi le dimensioni vengono nuovamente visualizzate come 0 KB.

E la cartella di destinazione sarà la cartella Posizione di output che si trova nella cartella Posizione di input. Se vediamo all'interno del file, non ci sono dati disponibili.

Ora sostituiremo l'origine e la destinazione nelle variabili FirstLocation e Second Location rispettivamente seguite dal nome del file e dalla sua estensione.

Codice:

 Sub VBA_Copy2 () Dim FirstLocation come stringa Dim SecondLocation come stringa FirstLocation = "D: \ File VPB \ File di aprile \ New Excel \ Test Case.docx" SecondLocation = "D: \ File VPB \ File di aprile \ Posizione finale \ Caso di prova. docx "FileCopy FirstLocation, SecondLocation End Sub 

Ora esegui il codice.

Vedremo, il file di parole di prova ora viene copiato dalla cartella Posizione di input nella cartella Posizione di output con le stesse dimensioni di 0 KB.

Pro di FileCopy in VBA

  • Può essere utilizzato per la copia di più di 1 file in un colpo solo.
  • Ci vuole un tempo simile per 10 file come per copiare un file.
  • Possiamo usare qualsiasi tipo di file di estensione che vogliamo copiare.

Cose da ricordare

  • Inserisci sempre il nome del file e la sua estensione alla fine del nome della posizione.
  • Cita i collegamenti di destinazione e posizione di origine in virgolette.
  • Una volta fatto, salva il codice in Macro per consentire a Excel di utilizzare e conservare il codice per scopi futuri.
  • Concedere sempre l'autorizzazione al codice in modo che possa copiare il file dalla posizione di origine e incollarlo in una posizione di destinazione.

Articoli consigliati

Questa è una guida a FileCopy in VBA. Qui discutiamo come copiare un file Excel usando il codice VBA insieme a esempi pratici e modello Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Lavorare con VBA Active Cell
  2. Eliminazione di una riga in VBA
  3. Come utilizzare Excel VBA Transpose?
  4. Come risolvere l'errore 1004 utilizzando VBA

Categoria: