VBA Copia file/cartella di lavoro

VBA ti permette di copiare un file, usando il FileSystemOggetto. In questo tutorial imparerai come copiare e rinominare un file specifico.

Se vuoi imparare a rinominare un file, puoi fare clic su questo link: Rinomina file VBA

Copia un file/cartella di lavoro

Mostreremo come copiare il file esistente File di esempio 1.xlsx nella cartella Cartella VBA. In questo esempio, non rinomineremo il file, ma solo copiarlo e sovrascriverlo. La cartella attualmente ha solo questo file:

Immagine 1. File nella cartella C:\Cartella VBA

Ecco il codice:

12345 Dim oFSO come oggettoImposta oFSO = CreateObject("Scripting.FileSystemObject")Chiama oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\", True)

Devi prima creare l'oggetto della classe Scripting.FileSystemObject:

1 Imposta oFSO = CreateObject("Scripting.FileSystemObject")

Allora possiamo usare il metodo Copia il file:

1 Chiama oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\", True)

Il primo parametro del metodo è il percorso di origine e il secondo è il percorso di destinazione. Il terzo parametro è Sovrascrivi. Poiché abbiamo gli stessi percorsi di origine e destinazione, dobbiamo impostare Sovrascrivi su Vero o Falso. In questo esempio, mettiamo True, che significa che il file originale viene sovrascritto.

Vediamo ora cosa succede se abbiamo le stesse destinazioni, ma impostiamo Sovrascrivi su False. Devi solo cambiare questa riga del codice:

1 Chiama oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\", True)

Di conseguenza, otterrai un errore come puoi vedere nell'immagine 2:

Immagine 2. Errore durante la copia del file

Copia e rinomina un file

Un'altra opzione possibile quando si copia un file è rinominarlo. È simile alla copia di un file, ma ora devi solo impostare il percorso di destinazione con un nome diverso. Ecco il codice:

12345 Dim oFSO come oggettoImposta oFSO = CreateObject("Scripting.FileSystemObject")Chiama oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\Sample file Copy.xlsx")

Come puoi vedere dall'ultima riga del codice, vogliamo copiare il file File di esempio 1.xlsx nella stessa cartella e chiamalo File di esempio Copy.xlsx:

1 Chiama oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\Sample file Copy.xlsx")

Ora abbiamo due file nella cartella VBA. Il risultato del codice è nell'immagine 3:

Immagine 3. Copia e rinomina il file

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave