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