Як перемістити файли за допомогою 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *