Vba: как скопировать файл из одного места в другое
Вы можете использовать метод CopyFile в VBA для копирования файла из одной папки в другую.
Вот распространенный способ использования этого метода на практике:
SubCopyMyFile ()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source file and destination folder
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFolder = "C:\Users\bob\Desktop\Some_Data_2\"
'copy file
FSO.CopyFile Source:=SourceFile, Destination:=DestFolder
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 , и установите флажок рядом с ним. Затем нажмите ОК .
Затем мы можем создать следующий макрос для копирования файла:
SubCopyMyFile ()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source file and destination folder
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFolder = "C:\Users\bob\Desktop\Some_Data_2\"
'copy file
FSO.CopyFile Source:=SourceFile, Destination:=DestFolder
End Sub
После выполнения этого макроса файл с именем Soccer_data.txt будет скопирован из папки Some_Data_1 в папку Some_Data_2 :
Исходный файл Soccer_data.txt также останется в папке Some_Data_1 :
Примечание . Полную документацию по методу CopyFile можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
Как создавать папки с помощью VBA
Как удалить папки с помощью VBA
Как удалить файлы с помощью VBA