Flytt filer med VBA FileSystemObject (MoveFile)

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

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave