FileSystem.FileCopy vs objFSO.CopyFile
有什么具体的情况下我应该使用以下或可以互换?
选项1
... FileSystem.FileCopy... ...
选项2
... Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile ...
或者是选项1,引擎盖下,只是选项2?
选项1的FileSystem.FileCopy
是内置的VBAfunction,用于复制文件,其核心语言的一部分并始终可用(您不需要FileSystem
命名空间前缀)
备选scheme2更为复杂; 它使用COM来创build一个后期绑定的FSO实例,并调用一个名字相同的方法,并执行与内置方法相同的方法。
与选项1相比,使用选项2似乎没有什么好处,唯一的function区别在于FSO公开了一个控制覆盖行为的参数,您需要使用内置的FileCopy
手动处理(足够小)。
我发现FileCopy方法可能会失败,如果源文件被另一个用户打开,但FSO方法在这两种情况下都可以。