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 中执行其他常见任务: