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