复制基于单元格的文件夹

是否可以使用EXCEL-VBA将文件夹复制到另一个文件夹?

这里的例子

在这里输入图像说明

如果我在D9的例子中input了v,然后在E3中填入目标path,那么它将把E:\ DATABASE2012Data2012中的文件夹沿里面的文件复制到目标文件夹F:\ Workdata

所以基本上我需要的是在E3中input目标path,只需要将v插入到D7或/和/到D9

VBA可以做到这一点吗?

您可以使用命令解释器XCOPY命令来执行此旧派风格

 ' VBA Code to open a command window and run XCOPY Shell Environ("comspec") & " /k xcopy " & Range("E9").text & " " & Range("F9").text & " /s /e /i" 

所以做的是打开一个Command窗口,然后执行XCOPY命令将范围E9中的文件夹复制到F9中指定的新目录中。

/ k – 这将保持命令窗口打开 – 对testing有用

/ c – 这将在完成时closures命令窗口。

有许多交换机可以用于XCOPY,在Microsoft-XCOPY交换机上详细介绍

或者你可以使用FILECOPY详细罗恩德布鲁因:VBA FileCopy和罗恩德布鲁恩:VBA的FolderCopy

如果您有Excel 2010-2013,则可以使用新的CopyFolder方法

另一个select是使用FILESYSTEMOBJECT – CopyFolder方法 (例如: FileSystemObject.CopyFolder“c:\ mydocuments \ letters *”,“c:\ tempfolder \”

HTH

菲利普