【发布时间】:2015-02-27 15:53:52
【问题描述】:
我发现了两种使用 VBA 在 Excel 中复制单个文件的不同方法。一是文件拷贝:
FileCopy (originalPath), (pathToCopyTo)
另一个是名字:
Name (originalPath) As (pathToCopyTo)
性能/预期用途/功能有什么不同吗?我还没有注意到任何东西,但有兴趣知道!
【问题讨论】:
我发现了两种使用 VBA 在 Excel 中复制单个文件的不同方法。一是文件拷贝:
FileCopy (originalPath), (pathToCopyTo)
另一个是名字:
Name (originalPath) As (pathToCopyTo)
性能/预期用途/功能有什么不同吗?我还没有注意到任何东西,但有兴趣知道!
【问题讨论】:
他们实际上做了非常不同的事情。
FileCopy 实际上会在pathToCopyTo 的位置创建文件的新副本,而原始文件保持不变。
Name 重命名原始文件。如果您提供不同的文件路径,则有效地移动文件。 (复制/粘贴操作。)因此,原始文件将不在您找到它的位置,而是在新位置。
有关详细信息,请参阅以下 MSDN 文档:
至于性能,Name 会表现得更好,因为操作系统不需要物理复制磁盘上的数据。它只会更新文件在查找表中的位置。顺便说一句,这也是剪切/粘贴文件操作比复制/粘贴文件操作更快的原因。
【讨论】: