Jak przenosić pliki za pomocą vba (z przykładem)


Aby przenieść plik z jednego folderu do drugiego, możesz użyć metody MoveFile w VBA.

Oto powszechny sposób wykorzystania tej metody w praktyce:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

To konkretne makro przenosi plik o nazwie Soccer_data.txt z folderu o nazwie Some_Data_1 do folderu o nazwie Some_Data_2 .

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Jak przenosić pliki za pomocą VBA

Załóżmy, że mamy plik tekstowy o nazwie football_data.txt znajdujący się w folderze Some_Data_1 na naszym pulpicie:

Załóżmy teraz, że chcemy użyć języka VBA do przeniesienia tego pliku tekstowego do innego folderu o nazwie Some_Data_2 na naszym pulpicie, który obecnie zawiera dwa pliki tekstowe:

Zanim użyjemy VBA do przeniesienia tego pliku, musimy najpierw włączyć Microsoft Scripting Runtime w edytorze VB.

Aby to zrobić, otwórz edytor VB, następnie kliknij Narzędzia , a następnie kliknij Referencje :

W nowym oknie, które się pojawi, przewiń w dół, aż zobaczysz Microsoft Scripting Runtime i zaznacz pole obok niego. Następnie kliknij OK .

Następnie możemy utworzyć następujące makro, aby przenieść plik:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Po wykonaniu tego makra plik o nazwie Soccer_data.txt zostanie przeniesiony z folderu Some_Data_1 do folderu Some_Data_2 :

Pamiętaj, że jeśli chcesz przenieść wszystkie pliki z jednego folderu do drugiego, możesz użyć następującej składni:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source and destination folders
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\*"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\"

'move all files from source folder to destination folder
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

To konkretne makro przeniesie wszystkie pliki z folderu Some_Data_1 do folderu Some_Data_2 .

Uwaga : Pełną dokumentację metody MoveFile można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

Jak tworzyć foldery za pomocą VBA
Jak usunąć foldery za pomocą VBA
Jak usunąć pliki za pomocą VBA

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *