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

如何使用 VBA 创建文件夹
如何使用VBA删除文件夹
如何使用VBA删除文件

添加评论

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