Przenieś pliki za pomocą VBA FileSystemObject (MoveFile)

W tym samouczku zademonstrujemy, jak używać metody MoveFile obiektu FileSystemObject.

Przenieś pliki za pomocą VBA FileSystemObject

Metoda MoveFile przenosi jeden lub więcej plików z jednej lokalizacji do drugiej.

Ustaw odniesienie VBA

Po pierwsze, podczas korzystania z FileSystemObjects może być konieczne ustawienie odwołania do biblioteki wykonawczej skryptu VB: otwórz Edytor Visual Basic (ALT+F11), wybierz z menu rozwijanego Narzędzia > Odwołania i zaznacz pole wyboru 'Microsoft Scripting Runtime'.

Obiekt systemu plików

Po drugie, musisz utworzyć FileSystemObject:

12 Dim FSO jako nowy obiekt systemu plikówUstaw FSO = CreateObject("Scripting.FileSystemObject")

Teraz masz dostęp do MoveFile i innych metod FileSystemObject.

Programowanie VBA | Generator kodu działa dla Ciebie!

Przenieś jeden plik

Aby przenieść pojedynczy plik, możesz użyć prostej składni FSO.MoveFile( source, destination ).

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

Jak wspomniano powyżej, najpierw musisz utworzyć FileSystemObject:

1234567 Sub FSOMoveFile()Dim FSO jako nowy obiekt systemu plikówUstaw FSO = CreateObject("Scripting.FileSystemObject")FSO.MoveFile "C:\Src\TestFile.txt", "C:\Dst\ModTestFile.txt"Napis końcowy

Przenieś wiele plików

Możesz przenieść wiele plików z tymi samymi częściami nazw:

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

Lub możesz przenieść wiele plików z tym samym rozszerzeniem:

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

Lub po prostu wszystkie pliki z folderu:

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

Zwróć uwagę, że używamy tutaj znaku wieloznacznego *.

Zamiast używać symbolu wieloznacznego *, możesz przenieść wszystkie pliki w folderze za pomocą pętli For Each.

12345678910111213141516 Sub FSMoveAllFiles ()Dim FSO jako nowy obiekt systemu plikówDim FromPath As StringDim ToPath As StringDim FileInFromFolder As ObjectFromPath = "C:\Src\"ToPath = "C:\Dst\"Ustaw FSO = CreateObject("Scripting.FileSystemObject")Dla każdego pliku FileInFromFolder w FSO.GetFolder(FromPath).FilesFileInFromFolder.Move ToPathNastępny plik z folderuNapis końcowy

Przenieś plik do nowego folderu

Możesz również przenieść plik(i) do nowo utworzonego folderu. Aby to zrobić, dodaj polecenie

1 MkDir "C:\Dst\"

przed zadeklarowaniem ścieżki docelowej.

1234567891011121314151617 Sub FSMoveAllFiles ()Dim FSO jako nowy obiekt systemu plikówDim FromPath As StringDim ToPath As StringDim FileInFromFolder As ObjectFromPath = "C:\Src\"MkDir "C:\Dst\"ToPath = "C:\Dst\"Ustaw FSO = CreateObject("Scripting.FileSystemObject")Dla każdego pliku FileInFromFolder w FSO.GetFolder(FromPath).FilesFileInFromFolder.Move ToPathNastępny plik z folderuNapis końcowy

Masz dość wyszukiwania przykładów kodu VBA? Wypróbuj Automakro!

Przenieś foldery

Do przenoszenia folderów można użyć metody analogowej MoveFolder.

1234567 Podrzędny FSOPrzesuńFolder()Dim FSO jako nowy obiekt systemu plikówUstaw FSO = CreateObject("Scripting.FileSystemObject")FSO.MoveFolder "C:\StaryFolder", "C:\Dst\NowyFolder"Napis końcowy

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave