作者:绿色风
分类:
时间:2022-08-17
浏览:283
楼主 芐雨 |
如何复制当前路径的所有文件到指定文件夹
方法一:FileCopy
可在VBA中直接引用,单个文件的copy。所以本例中用循环+复制完成。 语法: FileCopy 源文件名,目标文件名 【两个参数都是必选的,且都包含路径。】
注:如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误。所以用了 ActiveWorkbook.SaveCopyAs +完整路径
代码:
- Sub 复制当前路径的所有文件到指定文件夹_FileCopy()
- t = Timer
- Dim 当前路径 As String, 目标路径 As String
- Dim fs
- On Error Resume Next
- 当前路径 = ThisWorkbook.Path & "\"
- 目标路径 = "C:\汇总数据\" '目标目录
- fs = Dir(当前路径 & "*") '如果只复制xls则把 "*" 改成 "*.xls")
- Do While fs <> ""
- FileCopy 当前路径 & fs, 目标路径 & fs
- fs = Dir
- Loop
- ActiveWorkbook.SaveCopyAs 目标路径 & ThisWorkbook.Name
- '*******如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误******
- MsgBox Format(Timer - t, "0.0000")
- End Sub
方法二:CopyFile 需调用FileSystemObject,多个文件可使用通配符。 语法:
. CopyFile , [, ] CopyFile 方法语法有如下几部分: 部分 | 描述 | object | 必需的。object始终是一个 FileSystemObject 的名字。 | source | 必需的。指明一个或多个要被复制文件的字符串文件说明,它可以包括通配符。 | destination | 必需的。指明 source 中的一个或多个文件要被复制到的接受端的字符串,不允许有通配符。 | overwrite | 选项的。Boolean 值,它表示存在的文件是否被覆盖。如果是 True,文件将被覆盖;如果是 False,它们不被覆盖。缺省值是 True。注意如果 destination 具有只读属性设置,不论 overwrite 值如何,CopyFile 都将失败。 |
免责声明 有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一
sitemap
|