vba复制文件

如何实现用vba复制本身文件到指定路径 比如我现在有个a.xls 我想复制它本身到d:\log\文件夹里 并命名为当前日期 如:20100511.xls 多谢!

方法一:FileCopy
可在VBA中直接引用,单个文件的copy。
语法:
FileCopy 源文件名,目标文件名
注:如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误。
示例:
FileCopy 当前路径, 目标路径

方法二:CopyFile
需调用FileSystemObject,多个文件可使用通配符。
语法:
object.CopyFile source, destination[, overwrite]
CopyFile 方法语法有如下几部分:
部分 描述
object 必需的。object始终是一个 FileSystemObject 的名字。
source 必需的。指明一个或多个要被复制文件的字符串文件说明,它可以包括通配符。
destination 必需的。指明 source 中的一个或多个文件要被复制到的接受端的字符串,不允许有通配符。
overwrite 选项的。Boolean 值,它表示存在的文件是否被覆盖。如果是 True,文件将被覆盖;如果是 False,它们不被覆盖。缺省值是 True。注意如果 destination 具有只读属性设置,不论 overwrite 值如何,CopyFile 都将失败。
示例:
Set Fso = CreateObject("Scripting.FileSystemObject")
Fso.CopyFile 当前路径, 目标路径
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
VBA本身的filecopy好象不能复制打开的文件;
方法1:用SAVEAS 另存为
ThisWorkbook.SaveAs "D:\log\" & Format(Date, "yyyyMMdd") & ".xls"

方法2:借用DOS的COPY命令
Shell "cmd /c copy """ & ThisWorkbook.FullName & """ D:\" & Format(Date, "yyyyMMdd") & ".xls"本回答被提问者采纳
第2个回答  2010-05-11
set fso=CreateObject("scripting.filesystemobject")
fso.copyfile thisworkbook.fullname,"D:\log\" & format(date,"yyyyMMdd") & ".xls"

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网