如何使用 vba 移动文件(带有示例)
您可以使用 VBA 中的MoveFile方法将文件从一个文件夹移动到另一个文件夹。
以下是在实践中使用此方法的常见方法:
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 移动文件
假设桌面上名为Some_Data_1的文件夹中有一个名为Football_data.txt的文本文件:
现在,假设我们要使用 VBA 将此文本文件移动到桌面上另一个名为Some_Data_2的文件夹,该文件夹当前包含两个文本文件:
在使用VBA移动该文件之前,我们必须首先在VB编辑器中启用Microsoft Scripting Runtime 。
为此,请打开 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 中执行其他常见任务: