Přesunout soubory pomocí VBA FileSystemObject (MoveFile)

Tento tutoriál předvede, jak použít metodu MoveFile FileSystemObject.

Přesuňte soubory pomocí VBA FileSystemObject

Metoda MoveFile přesune jeden nebo více souborů z jednoho umístění do jiného.

Nastavte referenci VBA

Za prvé, při používání FileSystemObjects budete možná muset nastavit odkaz na knihovnu run-time skriptů VB: otevřete editor jazyka Visual Basic (ALT+F11), v rozevírací nabídce vyberte Nástroje> Reference a zaškrtněte políčko „Microsoft Scripting Runtime“.

FileSystemObject

Za druhé, musíte vytvořit FileSystemObject:

12 Dim FSO jako nový FileSystemObjectNastavit FSO = CreateObject ("Scripting.FileSystemObject")

Nyní máte přístup k MoveFile a dalším metodám FileSystemObject.

Programování VBA | Generátor kódu pracuje pro vás!

Přesunout jeden soubor

K přesunutí jednoho souboru můžete použít jednoduchou syntaxi FSO.MoveFile (zdroj, cíl).

1 FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"

Jak bylo uvedeno výše, nejprve musíte vytvořit FileSystemObject:

1234567 Sub FSOMoveFile ()Dim FSO jako nový FileSystemObjectNastavit FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"End Sub

Přesunout více souborů

Můžete přesunout více souborů se stejnými názvy:

1 FSO.MoveFile "C: \ Src \ TestFile*.txt", "C: \ Dst \"

Nebo můžete přesunout více souborů se stejnou příponou:

1 FSO.MoveFile "C: \ Src \ *.xlsx", "C: \ Dst \"

Nebo jednoduše všechny soubory ze složky:

1 FSO.MoveFile "C: \ Src \*", "C: \ Dst \"

Všimněte si, zde používáme zástupný znak *.

Místo použití zástupného znaku * můžete přesouvat všechny soubory ve složce pomocí smyčky Pro každý.

12345678910111213141516 Sub FSOMoveAllFiles ()Dim FSO jako nový FileSystemObjectDim FromPath jako řetězecDim ToPath jako řetězecDim FileInFromFolder jako objektFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Nastavit FSO = CreateObject ("Scripting.FileSystemObject")Pro každý FileInFromFolder v FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathDalší FileInFromFolderEnd Sub

Přesunout soubor do nové složky

Soubory můžete také přesunout do nově vytvořené složky. Chcete -li to provést, přidejte příkaz

1 MkDir "C: \ Dst \"

před deklarováním cílové cesty.

1234567891011121314151617 Sub FSOMoveAllFiles ()Dim FSO jako nový FileSystemObjectDim FromPath jako řetězecDim ToPath jako řetězecDim FileInFromFolder jako objektFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Nastavit FSO = CreateObject ("Scripting.FileSystemObject")Pro každý FileInFromFolder v FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathDalší FileInFromFolderEnd Sub

Už vás nebaví hledat příklady kódu VBA? Zkuste AutoMacro!

Přesunout složky

K přesouvání složek můžete použít analogovou metodu MoveFolder.

1234567 Sub FSOMoveFolder ()Dim FSO jako nový FileSystemObjectNastavit FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"End Sub
wave wave wave wave wave