Vba:如何将文件从一个位置复制到另一个位置


您可以使用 VBA 中的CopyFile方法将文件从一个文件夹复制到另一个文件夹。

以下是在实践中使用此方法的常见方法:

 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 复制文件

假设桌面上名为Some_Data_1的文件夹中有一个名为Football_data.txt的文本文件:

现在,假设我们要使用 VBA 将此文本文件复制到桌面上另一个名为Some_Data_2的文件夹,该文件夹当前包含两个文本文件:

在使用VBA复制该文件之前,我们必须首先在VB编辑器中启用Microsoft Scripting Runtime

为此,请打开 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删除文件

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注