Come copiare un file excel utilizzando vba?

È possibile utilizzare il codice VBA per copiare un file (cartella di lavoro) da una cartella a un’altra oppure è anche possibile copiare un file nella stessa cartella utilizzando un nome diverso.

In questo tutorial vedremo come scrivere codice in entrambe le direzioni. Qui è necessario utilizzare FileSystemObject che fornisce l’accesso a file e cartelle in Windows.

Copia un file Excel in una cartella separata

 Sub myMacro() Dim myFile As Object Set myFile = CreateObject("Scripting.FileSystemObject") Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", "C:\Users\admin\Desktop\", True) End Sub

Per scrivere il codice sopra:

copiare-un-file-excel-in-una-cartella
  1. Per prima cosa devi dichiarare una variabile.
  2. Successivamente, è necessario specificare FileSystemObject nella variabile appena definita.
  3. Successivamente, è necessario impostare la posizione di origine nel metodo “CopyFile”.
  4. Alla fine, imposta il percorso della cartella in cui desideri incollarlo.

Quando esegui questa macro , copia il “file di testo” della cartella di lavoro di Excel dalla cartella e lo incolla nella posizione specificata nel codice.

specificare-oggetto-file-system

Copia un file e rinominalo

Quando provi a copiare e incollare un file nella stessa posizione, c’è una buona probabilità che VBA ti mostri un errore. In questa situazione, il modo migliore è rinominare il file durante la copia.

 Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", "C:\Users\admin\Desktop\", True)

Sopra è riportato il codice di linea che ho utilizzato nel metodo precedente. Ora devi apportare una modifica solo a questa riga. Per la posizione di destinazione, devi aggiungere il file che desideri utilizzare per il nuovo file.

 Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", "C:\Users\admin\Desktop\folder\test-file1.xlsx ", True)

Quando esegui questo codice, copia il file (text-file.xlsx) dalla cartella e lo copia nella stessa cartella con un nome diverso (test-file1.xlsx).

copia-un-file-e-rinomina
 Dim myFile As Object Set myFile = _ CreateObject("Scripting.FileSystemObject") Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", _ "C:\Users\admin\Desktop\folder\test-file1.xlsx", True) End Sub

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *