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

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

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