通配符只能在 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"
    
  • 对象 (Visual Basic for Applications)
  • 支持和反馈

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

  •