Tento tutoriál ukáže, ako používať metódu MoveFile súboru FileSystemObject.
Presúvajte súbory pomocou VBA FileSystemObject
Metóda MoveFile presúva jeden alebo viac súborov z jedného umiestnenia do druhého.
Nastavte referenciu VBA
Najprv pri použití FileSystemObjects bude možno potrebné nastaviť odkaz na run-time knižnicu VB skriptov: otvorte editor jazyka Visual Basic (ALT+F11), v rozbaľovacej ponuke vyberte položku Nástroje> Referencie a začiarknite políčko „Microsoft Scripting Runtime“.
FileSystemObject
Za druhé, musíte vytvoriť FileSystemObject:
12 | Dim FSO ako nový FileSystemObjectNastaviť FSO = CreateObject ("Scripting.FileSystemObject") |
Teraz máte prístup k MoveFile a ďalším metódam FileSystemObject.
Programovanie VBA | Generátor kódu pracuje za vás!
Presunúť jeden súbor
Na presun jedného súboru môžete použiť jednoduchú syntax FSO.MoveFile (zdroj, cieľ).
1 | FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt" |
Ako bolo uvedené vyššie, najskôr musíte vytvoriť FileSystemObject:
1234567 | Sub FSOMoveFile ()Dim FSO ako nový FileSystemObjectNastaviť FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"Koniec pod |
Presuňte viac súborov
Môžete presúvať viacero súborov s časťami s rovnakým názvom:
1 | FSO.MoveFile "C: \ Src \ TestFile*.txt", "C: \ Dst \" |
Alebo môžete presunúť viacero súborov s rovnakou príponou:
1 | FSO.MoveFile "C: \ Src \ *.xlsx", "C: \ Dst \" |
Alebo jednoducho všetky súbory z priečinka:
1 | FSO.MoveFile "C: \ Src \*", "C: \ Dst \" |
Upozorňujeme, že tu používame zástupný znak *.
Namiesto použitia zástupného znaku * môžete všetky súbory v priečinku presúvať pomocou slučky Pre každé.
12345678910111213141516 | Sub FSOMoveAllFiles ()Dim FSO ako nový FileSystemObjectDim FromPath ako reťazecDim ToPath ako reťazecDim FileInFromFolder ako objektFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Nastaviť FSO = CreateObject ("Scripting.FileSystemObject")Pre každý FileInFromFolder v FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathĎalší FileInFromFolderKoniec pod |
Presunúť súbor do nového priečinka
Súbory môžete tiež presunúť do novo vytvoreného priečinka. Ak to chcete urobiť, pridajte príkaz
1 | MkDir "C: \ Dst \" |
pred deklarovaním cieľovej cesty.
1234567891011121314151617 | Sub FSOMoveAllFiles ()Dim FSO ako nový FileSystemObjectDim FromPath ako reťazecDim ToPath ako reťazecDim FileInFromFolder ako objektFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Nastaviť FSO = CreateObject ("Scripting.FileSystemObject")Pre každý FileInFromFolder v FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathNasledujúci FileInFromFolderKoniec pod |
Ste unavení z hľadania príkladov kódu VBA? Skúste AutoMacro!
Presuňte priečinky
Na presúvanie priečinkov môžete použiť analógovú metódu MoveFolder.
1234567 | Sub FSOMoveFolder ()Dim FSO ako nový FileSystemObjectNastaviť FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"Koniec pod |