Flytta filer med VBA FileSystemObject (MoveFile)

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

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave