如何在 vba 中复制文件夹(带有示例)
您可以使用 VBA 中的CopyFolder方法将文件夹从一个位置复制到另一个位置。
以下是在实践中使用此方法的常见方法:
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder, Destination:=DestFolder
End Sub
这个特定的宏将名为current_data的文件夹从Documents文件夹复制到Desktop 。
以下示例展示了如何在实践中使用此语法。
示例:如何使用 VBA 复制文件夹
假设我们有一个名为current_data的文件夹,位于名为Documents的文件夹中:
现在假设我们要使用 VBA 将整个文件夹复制到Desktop ,其中当前包含两个文件夹:
在使用VBA复制该文件之前,我们必须首先在VB编辑器中启用Microsoft Scripting Runtime 。
为此,请打开 VB 编辑器,单击“工具” ,然后单击“引用” :
在出现的新窗口中,向下滚动,直到看到Microsoft Scripting Runtime ,然后选中它旁边的框。然后单击“确定” 。
然后我们可以创建以下宏来复制该文件夹:
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder, Destination:=DestFolder
End Sub
执行此宏后,名为current_data的文件夹将从Documents文件夹复制到桌面:
原始的current_data文件夹也将保留在Documents文件夹中。
注意:您可以在此处找到CopyFolder方法的完整文档。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: