Ovaj vodič će pokazati kako se koristi metoda MoveFile FileSystemObject.
Premjestite datoteke pomoću VBA FileSystemObject
Metoda MoveFile premješta jednu ili više datoteka s jednog mjesta na drugo.
Postavi VBA referencu
Prvo, kada koristite FileSystemObjects, možda ćete morati postaviti referencu na biblioteku vremena izvođenja VB skripte: otvorite uređivač Visual Basic (ALT+F11), odaberite Alati> Reference s padajućeg izbornika i označite potvrdni okvir 'Microsoft Scripting Runtime'.
FileSystemObject
Drugo, morate stvoriti FileSystemObject:
12 | Zatamnite FSO kao novi FileSystemObjectPostavi FSO = CreateObject ("Scripting.FileSystemObject") |
Sada imate pristup MoveFile -u i drugim FileSystemObject metodama.
VBA programiranje | Generator koda radi za vas!
Premjesti jednu datoteku
Za premještanje jedne datoteke možete koristiti jednostavnu sintaksu FSO.MoveFile (izvor, odredište).
1 | FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt" |
Kao što je gore spomenuto, prvo morate stvoriti FileSystemObject:
1234567 | Pod FSOMoveFile ()Zatamnite FSO kao novi FileSystemObjectPostavi FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"Kraj podm |
Premjesti više datoteka
Možete premjestiti više datoteka s dijelovima istog naziva:
1 | FSO.MoveFile "C: \ Src \ TestFile*.txt", "C: \ Dst \" |
Ili možete premjestiti više datoteka s istim proširenjem:
1 | FSO.MoveFile "C: \ Src \ *.xlsx", "C: \ Dst \" |
Ili jednostavno sve datoteke iz mape:
1 | FSO.MoveFile "C: \ Src \*", "C: \ Dst \" |
Uočite, ovdje koristimo zamjenski znak *.
Umjesto zamjenskog znaka *, sve datoteke u mapi možete premjestiti pomoću petlje Za svaki.
12345678910111213141516 | Pod FSOMoveAllFiles ()Zatamnite FSO kao novi FileSystemObjectZatamni FromPath As StringZatamni ToPath kao nizZatamni datoteku FileInFromFolder kao objektFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Postavi FSO = CreateObject ("Scripting.FileSystemObject")Za svaku datoteku FileInFromFolder u FSO.GetFolder (FromPath). DatotekeFileInFromFolder.Move ToPathSljedeći FileInFromFolderKraj podm |
Premjesti datoteku u novu mapu
Datoteke možete premjestiti i u novostvorenu mapu. Da biste to učinili, dodajte naredbu
1 | MkDir "C: \ Dst \" |
prije deklariranja odredišne staze.
1234567891011121314151617 | Pod FSOMoveAllFiles ()Zatamnite FSO kao novi FileSystemObjectZatamni FromPath As StringZatamni ToPath kao nizZatamni datoteku FileInFromFolder kao objektFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Postavi FSO = CreateObject ("Scripting.FileSystemObject")Za svaku datoteku FileInFromFolder u FSO.GetFolder (FromPath). DatotekeFileInFromFolder.Move ToPathSljedeći FileInFromFolderKraj podm |
Umorni ste od traženja primjera VBA koda? Isprobajte AutoMacro!
Premjesti mape
Za premještanje mapa možete koristiti analognu metodu MoveFolder.
1234567 | Sub FSOMoveFolder ()Zatamnite FSO kao novi FileSystemObjectPostavi FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"Kraj podm |