Как переместить файлы с помощью 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 в редакторе VB.

Для этого откройте редактор VB, затем нажмите «Инструменты» , затем нажмите «Ссылки» :

В появившемся новом окне прокрутите вниз, пока не увидите Microsoft Scripting Runtime , и установите флажок рядом с ним. Затем нажмите ОК .

Затем мы можем создать следующий макрос для перемещения файла:

 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *