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