是否有我应该使用以下特定场景或它们可以互换?
选项1
...
FileSystem.FileCopy...
...
选项 2
...
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile
...
或者是选项 1,在引擎盖下,只是选项 2 ?
最佳答案
选项 1 的 FileSystem.FileCopy
是用于复制文件的内置 VBA 函数,它是核心语言的一部分并且始终可用(您不需要 FileSystem
命名空间前缀)
选项 2 更复杂;它使用 COM 创建一个后期绑定(bind)的 FSO 实例,并调用一个与内置函数具有相同名称并执行相同操作的方法。
与选项 1 相比,使用选项 2 似乎没有什么好处,唯一的功能区别是 FSO 公开了一个参数来控制覆盖行为,您需要使用内置的 FileCopy
手动处理(足够琐碎)。
关于vba - FileSystem.FileCopy 与 objFSO.CopyFile,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28045452/