基于单元格复制文件夹

时间:2013-03-06 09:35:09

标签: excel vba excel-vba

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

这里的例子

enter image description here

如果我在D9中的示例中输入v并填写E3中的目标路径,那么它会将E:\ DATABASE2012Data2012中的文件夹沿着文件内部复制到目标文件夹F:\ Workdata

基本上我需要的是在E3中输入目标路径,只需要在D7或/和/到D9中插入v

是否可以使用VBA执行此操作?

1 个答案:

答案 0 :(得分:3)

您可以使用Command Interpreter XCOPY命令执行 Old School Style

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

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

/ k - 这将使命令窗口保持打开状态 - 对于测试

非常有用

/ c - 这将在命令窗口结束时关闭。

有许多开关可以与XCOPY一起使用,详见Microsoft - XCOPY Switches

或者您也可以使用详细信息Ron De Bruin: VBA FileCopyRon De Bruin: VBA FolderCopy

上的FILECOPY

如果您使用的是Excel 2010-2013,则可以使用新的CopyFolder method

另一种选择是使用FILESYSTEMOBJECT - CopyFolder method(例如: FileSystemObject.CopyFolder“c:\ mydocuments \ letters *”,“c:\ tempfolder \”

HTH

菲利普