2

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

这里的例子

在此处输入图像描述

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

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

有可能做到这一点VBA吗?

4

1 回答 1

3

您可以使用命令解释器 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"

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

/k - 这将保持命令窗口打开 - 用于测试

/c - 这将在完成后关闭命令窗口。

有许多开关可以与 XCOPY 一起使用,Microsoft - XCOPY Switches上有详细说明

或者,您可以使用Ron De Bruin: VBA FileCopyRon De Bruin: VBA FolderCopy 中详述的 FILECOPY

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

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

高温高压

菲利普

于 2013-03-06T10:16:39.180 回答