Denna handledning visar hur du använder MoveFile -metoden för FileSystemObject.
Flytta filer med VBA FileSystemObject
MoveFile -metoden flyttar en eller flera filer från en plats till en annan.
Ställ in VBA -referens
Först, när du använder FileSystemObjects, kan du behöva ange en referens till VB-skriptets körtidsbibliotek: öppna Visual Basic Editor (ALT+F11), välj Verktyg> Referenser från rullgardinsmenyn och markera kryssrutan för 'Microsoft Scripting Runtime'.
FileSystemObject
För det andra måste du skapa FileSystemObject:
12 | Dim FSO som nytt filsystemsystemAnge FSO = CreateObject ("Scripting.FileSystemObject") |
Nu har du tillgång till MoveFile och de andra FileSystemObject -metoderna.
VBA -programmering | Kodgenerator fungerar för dig!
Flytta en fil
För att flytta en enda fil kan du använda den enkla syntaxen för FSO.MoveFile (källa, destination).
1 | FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt" |
Som nämnts ovan måste du först skapa FileSystemObject:
1234567 | Sub FSOMoveFile ()Dim FSO som nytt filsystemsystemAnge FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"Avsluta Sub |
Flytta flera filer
Du kan flytta flera filer med samma namndelar:
1 | FSO.MoveFile "C: \ Src \ TestFile*.txt", "C: \ Dst \" |
Eller så kan du flytta flera filer med samma tillägg:
1 | FSO.MoveFile "C: \ Src \ *.xlsx", "C: \ Dst \" |
Eller helt enkelt alla filer från en mapp:
1 | FSO.MoveFile "C: \ Src \*", "C: \ Dst \" |
Lägg märke till att här använder vi * jokertecknet.
Istället för att använda * jokertecken kan du flytta alla filer i en mapp med en för varje slinga.
12345678910111213141516 | Sub FSOMoveAllFiles ()Dim FSO som nytt filsystemsystemDim FromPath som strängDim ToPath som strängDim FileInFromFolder som objektFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Ange FSO = CreateObject ("Scripting.FileSystemObject")För varje FileInFromFolder I FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathNästa FileInFromFolderAvsluta Sub |
Flytta filen till en ny mapp
Du kan också flytta filen / filerna till en nyskapad mapp. Lägg till kommandot för att göra det
1 | MkDir "C: \ Dst \" |
innan deklarerar destinationsvägen.
1234567891011121314151617 | Sub FSOMoveAllFiles ()Dim FSO som nytt filsystemsystemDim FromPath som strängDim ToPath som strängDim FileInFromFolder som objektFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Ange FSO = CreateObject ("Scripting.FileSystemObject")För varje FileInFromFolder I FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathNästa FileInFromFolderAvsluta Sub |
Trött på att söka efter exempel på VBA -kod? Prova AutoMacro!
Flytta mappar
Du kan använda den analoga metoden MoveFolder för att flytta mappar.
1234567 | Sub FSOMoveFolder ()Dim FSO som nytt filsystemsystemAnge FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"Avsluta Sub |