Come spostare i file utilizzando vba (con esempio)


È possibile utilizzare il metodo MoveFile in VBA per spostare un file da una cartella a un’altra.

Ecco un modo comune per utilizzare questo metodo nella pratica:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Questa particolare macro sposta il file chiamato football_data.txt da una cartella chiamata Some_Data_1 a una cartella chiamata Some_Data_2 .

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: come spostare file utilizzando VBA

Supponiamo di avere un file di testo chiamato football_data.txt situato in una cartella chiamata Some_Data_1 sul nostro desktop:

Ora supponiamo di voler utilizzare VBA per spostare questo file di testo in un’altra cartella chiamata Some_Data_2 sul nostro desktop, che attualmente contiene due file di testo:

Prima di utilizzare VBA per spostare questo file, dobbiamo prima abilitare Microsoft Scripting Runtime nell’editor VB.

Per fare ciò, apri l’editor VB, quindi fai clic su Strumenti , quindi su Riferimenti :

Nella nuova finestra visualizzata, scorri verso il basso fino a visualizzare Microsoft Scripting Runtime e seleziona la casella accanto ad essa. Quindi fare clic su OK .

Quindi possiamo creare la seguente macro per spostare il file:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Una volta eseguita questa macro, il file denominato football_data.txt verrà spostato dalla cartella Some_Data_1 alla cartella Some_Data_2 :

Tieni presente che se desideri spostare tutti i file da una cartella all’altra, puoi utilizzare la seguente sintassi:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source and destination folders
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\*"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\"

'move all files from source folder to destination folder
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Questa particolare macro sposterà tutti i file dalla cartella Some_Data_1 alla cartella Some_Data_2 .

Nota : puoi trovare la documentazione completa per il metodo MoveFile qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

Come creare cartelle utilizzando VBA
Come eliminare cartelle utilizzando VBA
Come eliminare file utilizzando VBA

Aggiungi un commento

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