CopyFile 方法

将一个或多个文件从一个位置复制到另一个位置。

语法

对象CopyFilesourcedestination, [ overwrite ]

CopyFile 方法的语法包含以下三部分:

Part 说明
object 必填。 对象始终是 FileSystemObject 的名称。
必填。 字符串文件规范,可以包括通配符来代表要复制的一个或多个文件。
目的地 必填。 要将 source 中的文件复制到的字符串目标。 不能使用通配符。
覆盖 可选。 布尔值,指示是否覆盖现有文件。 如果为 True,则覆盖文件,如果为 False,则不覆盖文件。 默认为 True。 请注意,如果 destination 具有只读属性集,则不管 overwrite 值是什么,CopyFile 都将失败。

备注

通配符只能在 source 参数的最后路径组件中使用。 例如,可以使用:

FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"

但不能使用:

FileSystemObject.CopyFile "c:\mydocuments\*\R1???97.xls", "c:\tempfolder"

如果 包含通配符,或 目标 以路径分隔符 (****) 结尾,则假定 目标 是复制匹配文件的现有文件夹。 否则,destination 被认为是要创建的文件的名称。 在任一情况下,复制单个文件时都可能发生以下三种情况:

  • 如果 destination 不存在,则复制 source。 这是常见情况。

  • 如果 destination 是现有文件,并且 overwriteFalse,则会出现错误。 否则,将尝试复制 source 并覆盖现有文件。

  • 如果 destination 是一个目录,则会出现错误。

如果使用通配符的 source 与任何文件不匹配,也会出现错误。 CopyFile 方法将在所遇到的第一个错误处停止。 在发生错误之前,不会尝试回滚或撤消任何已进行的更改。

复制到新目标路径的文件将保留相同的文件名。 若要重命名复制的文件,只需在目标路径中包含新文件名即可。 例如,这会将文件复制到新位置, 位置中的文件将具有不同的名称:

FileSystemObject.CopyFile "c:\mydocuments\letters\sample.doc", "c:\tempfolder\sample_new.doc"

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。