Denne opplæringen vil demonstrere hvordan du bruker MoveFile -metoden til FileSystemObject.
Flytt filer med VBA FileSystemObject
MoveFile -metoden flytter en eller flere filer fra et sted til et annet.
Sett VBA -referanse
Først, når du bruker FileSystemObjects, må du kanskje angi en referanse til VB-skriptets kjøretidsbibliotek: åpne Visual Basic Editor (ALT+F11), velg Verktøy> Referanser fra rullegardinmenyen og merk av i avmerkingsboksen for 'Microsoft Scripting Runtime'.
FileSystemObject
For det andre må du opprette FileSystemObject:
12 | Dim FSO som nytt filsystemobjektSett FSO = CreateObject ("Scripting.FileSystemObject") |
Nå har du tilgang til MoveFile og de andre FileSystemObject -metodene.
VBA -programmering | Kodegenerator fungerer for deg!
Flytt en fil
For å flytte en enkelt fil, kan du bruke den enkle syntaksen til FSO.MoveFile (kilde, destinasjon).
1 | FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt" |
Som nevnt ovenfor må du først opprette FileSystemObject:
1234567 | Sub FSOMoveFile ()Dim FSO som nytt filsystemobjektSett FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"Slutt Sub |
Flytt flere filer
Du kan flytte flere filer med samme navnedeler:
1 | FSO.MoveFile "C: \ Src \ TestFile*.txt", "C: \ Dst \" |
Eller du kan flytte flere filer med samme utvidelse:
1 | FSO.MoveFile "C: \ Src \ *.xlsx", "C: \ Dst \" |
Eller ganske enkelt alle filer fra en mappe:
1 | FSO.MoveFile "C: \ Src \*", "C: \ Dst \" |
Legg merke til, her bruker vi * jokertegnet.
I stedet for å bruke * jokertegnet, kan du flytte alle filene i en mappe ved hjelp av en For Every loop.
12345678910111213141516 | Sub FSOMoveAllFiles ()Dim FSO som nytt filsystemobjektDim FromPath som strengDim ToPath som strengDim FileInFromFolder som objektFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Sett FSO = CreateObject ("Scripting.FileSystemObject")For hver FileInFromFolder I FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathNeste FileInFromFolderSlutt Sub |
Flytt fil til en ny mappe
Du kan også flytte filen (e) til en nyopprettet mappe. For å gjøre det, legg til kommandoen
1 | MkDir "C: \ Dst \" |
før du angir destinasjonsbanen.
1234567891011121314151617 | Sub FSOMoveAllFiles ()Dim FSO som nytt filsystemobjektDim FromPath som strengDim ToPath som strengDim FileInFromFolder som objektFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Sett FSO = CreateObject ("Scripting.FileSystemObject")For hver FileInFromFolder I FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathNeste FileInFromFolderSlutt Sub |
Lei av å søke etter eksempler på VBA -kode? Prøv AutoMacro!
Flytt mapper
Du kan bruke den analoge metoden MoveFolder for å flytte mapper.
1234567 | Sub FSOMoveFolder ()Dim FSO som nytt filsystemobjektSett FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"Slutt Sub |