Ez az oktatóanyag bemutatja, hogyan kell használni a FileSystemObject MoveFile metódusát.
Fájlok áthelyezése a VBA FileSystemObject segítségével
A MoveFile módszer egy vagy több fájlt áthelyez egyik helyről a másikra.
Állítsa be a VBA referenciát
Először a FileSystemObjects használatakor előfordulhat, hogy be kell állítania egy hivatkozást a VB szkript futási idejű könyvtárára: nyissa meg a Visual Basic Editor (ALT+F11) billentyűt, válassza az Eszközök> Referenciák lehetőséget a legördülő menüből, és jelölje be a "Microsoft Scripting Runtime".
FileSystemObject
Másodszor, létre kell hoznia a FileSystemObject fájlt:
12 | Halvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject") |
Most már hozzáférhet a MoveFile -hez és a többi FileSystemObject metódushoz.
VBA programozás | A kódgenerátor működik az Ön számára!
Egy fájl áthelyezése
Egyetlen fájl áthelyezéséhez használhatja az FSO egyszerű szintaxisát. MoveFile (forrás, cél).
1 | FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt" |
Amint fentebb említettük, először létre kell hoznia a FileSystemObject fájlt:
1234567 | Sub FSOMoveFile ()Halvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"End Sub |
Több fájl áthelyezése
Több fájlt is áthelyezhet azonos nevű részekkel:
1 | FSO.MoveFile "C: \ Src \ TestFile*.txt", "C: \ Dst \" |
Vagy több fájlt is áthelyezhet ugyanazzal a kiterjesztéssel:
1 | FSO.MoveFile "C: \ Src \ *.xlsx", "C: \ Dst \" |
Vagy egyszerűen az összes fájlt egy mappából:
1 | FSO.MoveFile "C: \ Src \*", "C: \ Dst \" |
Figyeljük meg, itt a * helyettesítő karaktert használjuk.
A * helyettesítő karakter használata helyett a Minden egyes ciklus használatával áthelyezheti a mappában található összes fájlt.
12345678910111213141516 | FSOMoveAllFiles almenü ()Halvány FSO új fájlrendszer -objektumkéntDim fromPath mint karakterláncA Toath útvonal halványítása karakterlánckéntDim FileInFromFolder objektumkéntFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Set FSO = CreateObject ("Scripting.FileSystemObject")Minden FájlInFromFolder FSO.GetFolder (FromPath) .FájlokFileInFromFolder.Move toPathKövetkező FileInFromFolderEnd Sub |
Fájl áthelyezése új mappába
A fájl (oka) t áthelyezheti újonnan létrehozott mappába is. Ehhez adja hozzá a parancsot
1 | MkDir "C: \ Dst \" |
a rendeltetési útvonal deklarálása előtt.
1234567891011121314151617 | FSOMoveAllFiles almenü ()Halvány FSO új fájlrendszer -objektumkéntDim fromPath mint karakterláncA Toath útvonal halványítása karakterlánckéntDim FileInFromFolder objektumkéntFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Set FSO = CreateObject ("Scripting.FileSystemObject")Minden FájlInFromFolder FSO.GetFolder (FromPath) .FájlokFileInFromFolder.Move toPathKövetkező FileInFromFolderEnd Sub |
Unod már a VBA kódpéldák keresését? Próbálja ki az AutoMacro -t!
Mappák áthelyezése
A mappák mozgatásához használhatja az analóg MoveFolder módszert.
1234567 | Sub FSOMoveFolder ()Halvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"End Sub |