Acest tutorial va arăta cum să utilizați metoda MoveFile a FileSystemObject.
Mutați fișiere cu VBA FileSystemObject
Metoda MoveFile mută unul sau mai multe fișiere dintr-o locație în alta.
Setați referința VBA
În primul rând, atunci când utilizați FileSystemObjects, poate fi necesar să setați o referință la biblioteca de execuție a scriptului VB: deschideți Editorul Visual Basic (ALT + F11), selectați Instrumente> Referințe din meniul derulant și bifați caseta de selectare a „Microsoft Scripting Runtime”.
FileSystemObject
În al doilea rând, trebuie să creați FileSystemObject:
12 | Dim FSO ca nou FileSystemObjectSetați FSO = CreateObject ("Scripting.FileSystemObject") |
Acum aveți acces la MoveFile și la celelalte metode FileSystemObject.
Programare VBA | Generatorul de coduri funcționează pentru dvs.!
Mutați un fișier
Pentru a muta un singur fișier, puteți utiliza sintaxa simplă a FSO.MoveFile (sursă, destinație).
1 | FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt" |
După cum sa menționat mai sus, mai întâi trebuie să creați FileSystemObject:
1234567 | Sub FSOMoveFile ()Dim FSO ca nou FileSystemObjectSetați FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"Sfârșitul Sub |
Mutați mai multe fișiere
Puteți muta mai multe fișiere cu același nume:
1 | FSO.MoveFile "C: \ Src \ TestFile * .txt", "C: \ Dst \" |
Sau puteți muta mai multe fișiere cu aceeași extensie:
1 | FSO.MoveFile "C: \ Src \ * .xlsx", "C: \ Dst \" |
Sau pur și simplu toate fișierele dintr-un folder:
1 | FSO.MoveFile "C: \ Src \ *", "C: \ Dst \" |
Observați, aici folosim caracterul * wildcard.
În loc să folosiți caracterul wildcard *, puteți muta toate fișierele dintr-un folder folosind o buclă For Each.
12345678910111213141516 | Sub FSOMoveAllFiles ()Dim FSO ca nou FileSystemObjectDim FromPath As StringDim ToPath As StringDim FileInFromFolder ca obiectFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Setați FSO = CreateObject ("Scripting.FileSystemObject")Pentru fiecare fișier FileInFromFolder din FSO.GetFolder (FromPath)FileInFromFolder.Move ToPathUrmătorul FileInFromFolderSfârșitul Sub |
Mutați fișierul într-un folder nou
Puteți muta și fișierele într-un folder nou creat. Pentru a face acest lucru, adăugați comanda
1 | MkDir "C: \ Dst \" |
înainte de a declara calea destinației.
1234567891011121314151617 | Sub FSOMoveAllFiles ()Dim FSO ca nou FileSystemObjectDim FromPath As StringDim ToPath As StringDim FileInFromFolder ca obiectFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Setați FSO = CreateObject ("Scripting.FileSystemObject")Pentru fiecare fișier FileInFromFolder din FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathUrmătorul FileInFromFolderSfârșitul Sub |
V-ați săturat să căutați exemple de cod VBA? Încercați AutoMacro!
Mutați dosarele
Puteți utiliza metoda analogică MoveFolder pentru deplasarea folderelor.
1234567 | Sub FSOMoveFolder ()Dim FSO ca nou FileSystemObjectSetați FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"Sfârșitul Sub |