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 |