Як перемістити файли за допомогою vba (з прикладом)
Ви можете використовувати метод MoveFile у VBA, щоб перемістити файл з однієї папки в іншу.
Ось поширений спосіб використання цього методу на практиці:
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
Цей конкретний макрос переміщує файл під назвою soccer_data.txt із папки під назвою Some_Data_1 до папки під назвою Some_Data_2 .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як перемістити файли за допомогою VBA
Припустімо, у нас є текстовий файл під назвою soccer_data.txt , розташований у папці під назвою Some_Data_1 на нашому робочому столі:
Тепер припустімо, що ми хочемо за допомогою VBA перемістити цей текстовий файл до іншої папки під назвою Some_Data_2 на нашому робочому столі, яка наразі містить два текстові файли:
Перш ніж використовувати VBA для переміщення цього файлу, ми повинні спочатку ввімкнути Microsoft Scripting Runtime у редакторі VB.
Для цього відкрийте редактор VB, клацніть Інструменти , потім клацніть Посилання :
У новому вікні, що з’явиться, прокрутіть униз, доки не побачите Microsoft Scripting Runtime , і поставте прапорець біля нього. Потім натисніть OK .
Тоді ми можемо створити такий макрос для переміщення файлу:
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
Після виконання цього макросу файл із назвою soccer_data.txt буде переміщено з папки Some_Data_1 до папки Some_Data_2 :
Зауважте, що якщо ви хочете перемістити всі файли з однієї папки в іншу, ви можете використовувати такий синтаксис:
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
Цей конкретний макрос перемістить усі файли з папки Some_Data_1 до папки Some_Data_2 .
Примітка . Ви можете знайти повну документацію для методу MoveFile тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
Як створити папки за допомогою VBA
Як видалити папки за допомогою VBA
Як видалити файли за допомогою VBA