Sposta file con VBA FileSystemObject (MoveFile)

Questa esercitazione dimostrerà come utilizzare il metodo MoveFile di FileSystemObject.

Sposta i file con VBA FileSystemObject

Il metodo MoveFile sposta uno o più file da una posizione a un'altra.

Imposta riferimento VBA

Innanzitutto, quando si utilizza FileSystemObjects, potrebbe essere necessario impostare un riferimento alla libreria runtime di script VB: aprire l'editor di Visual Basic (ALT+F11), selezionare Strumenti > Riferimenti dal menu a discesa e spuntare la casella di 'Runtime di script Microsoft'.

FileSystemOggetto

In secondo luogo, è necessario creare il FileSystemObject:

12 Dim FSO come nuovo oggetto FileSystemImposta FSO = CreateObject("Scripting.FileSystemObject")

Ora hai accesso a MoveFile e agli altri metodi FileSystemObject.

Programmazione VBA | Il generatore di codice funziona per te!

Sposta un file

Per spostare un singolo file, puoi utilizzare la semplice sintassi di FSO.MoveFile( source, destination ).

1 FSO.MoveFile "C:\Src\TestFile.txt", "C:\Dst\ModTestFile.txt"

Come accennato in precedenza, per prima cosa devi creare il FileSystemObject:

1234567 Sub FSOMoveFile()Dim FSO come nuovo oggetto FileSystemImposta FSO = CreateObject("Scripting.FileSystemObject")FSO.MoveFile "C:\Src\TestFile.txt", "C:\Dst\ModTestFile.txt"Fine sottotitolo

Sposta più file

Puoi spostare più file con parti dello stesso nome:

1 FSO.MoveFile "C:\Src\TestFile*.txt", "C:\Dst\"

Oppure puoi spostare più file con la stessa estensione:

1 FSO.MoveFile "C:\Src\ *.xlsx", "C:\Dst\"

O semplicemente tutti i file da una cartella:

1 FSO.MoveFile "C:\Src\*", "C:\Dst\"

Nota, qui utilizziamo il carattere jolly *.

Invece di utilizzare il carattere jolly *, puoi spostare tutti i file in una cartella utilizzando un ciclo For Each.

12345678910111213141516 Sub FSOMoveAllFiles ()Dim FSO come nuovo oggetto FileSystemDim FromPath As StringDim ToPath As StringDim FileInFromFolder come oggettoFromPath = "C:\Src\"ToPath = "C:\Dst\"Imposta FSO = CreateObject("Scripting.FileSystemObject")Per ogni FileInFromFolder in FSO.GetFolder(FromPath).FilesFileInFromFolder.Move ToPathFile successivo da cartellaFine sottotitolo

Sposta il file in una nuova cartella

Puoi anche spostare i file in una cartella appena creata. Per farlo, aggiungi il comando

1 MkDir "C:\Dst\"

prima di dichiarare il percorso di destinazione.

1234567891011121314151617 Sub FSOMoveAllFiles ()Dim FSO come nuovo oggetto FileSystemDim FromPath As StringDim ToPath As StringDim FileInFromFolder come oggettoFromPath = "C:\Src\"MkDir "C:\Dst\"ToPath = "C:\Dst\"Imposta FSO = CreateObject("Scripting.FileSystemObject")Per ogni FileInFromFolder in FSO.GetFolder(FromPath).FilesFileInFromFolder.Move ToPathFile successivo da cartellaFine sottotitolo

Stanco di cercare esempi di codice VBA? Prova AutoMacro!

Sposta cartelle

È possibile utilizzare il metodo analogico MoveFolder per spostare le cartelle.

1234567 Sub FSOMoveFolder()Dim FSO come nuovo oggetto FileSystemImposta FSO = CreateObject("Scripting.FileSystemObject")FSO.MoveFolder "C:\OldFolder", "C:\Dst\NewFolder"Fine sottotitolo

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

wave wave wave wave wave