大家好,我们今日继续讲解VBA代码解决方案的第68讲内容:利用WSH,复制文件.在上一讲中,我讲了利用WSH脚本语句实现了文件的移动的问题,今日我们继续来讲解利用这个方法实现文件复制的方法。
如果需要把文件从一个地方复制到另一个地方,可以使用CopyFile方法,应用于FileSystemObject对象的CopyFile方法可以实现把一个或多个文件从一个地方复制到另一个地方
语法如下:object.CopyFile source, destination[, overwrite]
参数
a) object是必须的, FileSystemObject对象的名字。
b) source是必须的,指明一个或多个要被复制文件的字符串文件说明,可以包括通配符。
c) destination是必须的,指明参数source中的一个或多个文件要被复制到的接受端的字符串,不允许有通配符。
d) overwrite是可选的,表示存在的文件是否被覆盖。如果是True,文件将被覆盖;如果是False,它们不被覆盖,缺省值是True。
注意 如果参数destination指定的接受端具有只读属性设置,不论参数overwrite的值如何设置,CopyFile方法都将失败。
如下面的代码所示。
Sub MyCopyFile()
Dim MyFile As Object
On Error Resume Next
Set MyFile = CreateObject("Scripting.FileSystemObject")
MyFile.CopyFile ThisWorkbook.Path & "\abc.docx", ThisWorkbook.Path & "\ABC\"
Set MyFile = Nothing
MsgBox "OK!"
End Sub
代码解析:
MyCopyFile过程使用CopyFile方法将示例文件所在文件夹中的"abc.docx"文件复制到"ABC"文件夹中。
第4行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。
这里我们要再次回顾一下Windows Scripting Host(WSH)的作用,我们利用它创建控制Windows操作系统和应用程序以及从操作系统中获取信息小程序。使用WSH的FileSystemObject对象可以用来处理文件系统。使用WSH处理文件时,必需使用CreateObject函数创建一个ActiveX对象(FileSystemObject对象),用来提供访问计算机的文件系统。这就是利用CreateObject函数的目的和作用。
第5行代码使用CopyFile方法复制文件。
运行CopyFile过程将示例文件所在文件夹中的"abc.docx"文件复制到"ABC"文件夹中。
代码截图:
运行窗口:
今日内容回向:
1 如何复制文件到指定的地点呢?
2 本讲的内容和上节的内容同样是移动了文件,有什么不同和相同点呢?
分享成果,随喜正能量