Filecopy与名称function? 区别在哪里?

我发现了两种不同的方法来使用VBA在Excel中复制单个文件。 一个是文件复制:

FileCopy (originalPath), (pathToCopyTo) 

另一个是名字:

 Name (originalPath) As (pathToCopyTo) 

性能/预期的使用/function有何差异? 我没有注意到任何东西,但有兴趣知道!

他们其实做了非常不同的事情。

FileCopy实际上将在pathToCopyTo的位置创build一个的文件副本 ,保持原始文件不变。

Name 重命名原始文件。 如果您提供不同的文件path,则会有效地移动文件。 (复制/粘贴操作。)所以,原始文件将不会在您find它的位置,它将在新的位置。

有关更多信息,请参阅以下MSDN文档:

  • 名称声明
  • FileCopy声明

至于性能方面,由于操作系统不需要在磁盘上物理复制数据, Name将会更好地预制。 它只会更新查找表中文件的位置。 顺便说一下,这也是剪切/粘贴文件操作比复制/粘贴文件操作更快的原因。