Denne vejledning viser, hvordan du bruger MoveFile -metoden i FileSystemObject.
Flyt filer med VBA FileSystemObject
MoveFile -metoden flytter en eller flere filer fra et sted til et andet.
Indstil VBA -reference
Først, når du bruger FileSystemObjects, skal du muligvis angive en reference til VB-scriptets kørebibliotek: Åbn Visual Basic Editor (ALT+F11), vælg Værktøjer> Referencer i rullemenuen, og marker afkrydsningsfeltet for 'Microsoft Scripting Runtime'.
FileSystemObject
For det andet skal du oprette FileSystemObject:
12 | Dim FSO som nyt filsystemsystemIndstil FSO = CreateObject ("Scripting.FileSystemObject") |
Nu har du adgang til MoveFile og de andre FileSystemObject -metoder.
VBA -programmering | Kodegenerator virker for dig!
Flyt en fil
For at flytte en enkelt fil kan du bruge den enkle syntaks for FSO.MoveFile (kilde, destination).
1 | FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt" |
Som nævnt ovenfor skal du først oprette FileSystemObject:
1234567 | Sub FSOMoveFile ()Dim FSO som nyt filsystemsystemIndstil FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"Afslut Sub |
Flyt flere filer
Du kan flytte flere filer med samme navnedele:
1 | FSO.MoveFile "C: \ Src \ TestFile*.txt", "C: \ Dst \" |
Eller du kan flytte flere filer med den samme udvidelse:
1 | FSO.MoveFile "C: \ Src \ *.xlsx", "C: \ Dst \" |
Eller simpelthen alle filer fra en mappe:
1 | FSO.MoveFile "C: \ Src \*", "C: \ Dst \" |
Bemærk, her gør vi brug af * wildcard -karakteren.
I stedet for at bruge * wildcard kan du flytte alle filer i en mappe ved hjælp af en For Every loop.
12345678910111213141516 | Sub FSOMoveAllFiles ()Dim FSO som nyt filsystemsystemDim FromPath som strengDim ToPath som strengDim FileInFromFolder som objektFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Indstil FSO = CreateObject ("Scripting.FileSystemObject")For hver FileInFromFolder I FSO.GetFolder (FromPath) .FilerFileInFromFolder.Flyt tilPathNæste FileInFromFolderAfslut Sub |
Flyt fil til en ny mappe
Du kan også flytte filen / filerne til en nyoprettet mappe. For at gøre det skal du tilføje kommandoen
1 | MkDir "C: \ Dst \" |
inden deklaration af destinationsvejen.
1234567891011121314151617 | Sub FSOMoveAllFiles ()Dim FSO som nyt filsystemsystemDim FromPath som strengDim ToPath som strengDim FileInFromFolder som objektFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Indstil FSO = CreateObject ("Scripting.FileSystemObject")For hver FileInFromFolder I FSO.GetFolder (FromPath) .FilerFileInFromFolder.Flyt tilPathNæste FileInFromFolderAfslut Sub |
Træt af at søge efter eksempler på VBA -kode? Prøv AutoMacro!
Flyt mapper
Du kan bruge den analoge metode MoveFolder til at flytte mapper.
1234567 | Sub FSOMoveFolder ()Dim FSO som nyt filsystemsystemIndstil FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"Afslut Sub |