
大家好,我们今日继续讲解VBA代码解决方案的第67讲内容:利用WSH,在VBA中移动文件,在上一讲中我们讲了Windows Scripting Host的由来和利用的价值,今天我们就试着利用这个脚本语言来实现我们的一些日常常用的文件操作,当然,这些方法不是唯一的,只是凭使用者的习惯,对于使用程序的人员来说,都是一样的。今日讲的是把文件从一个地方移动到另一个地方,可以使用FileSystemObject对象的MoveFile方法。
应用于FileSystemObject对象的MoveFile方法将一个或多个文件从一个地方移动到另一个地方,语法如下:
object.MoveFile source, destination
参数
a) object是必须的, FileSystemObject对象的名称。
b) source是必须的,一个或多个要移动文件的路径,source参数字符串在路径的最后部件中可以使用通配符。
c) destinatio是必须的,一个或多个文件要移动到的目标路径,不能使用通配符。
如下面的代码所示。
Sub MyMoveFile()
Dim MyFile As Object
On Error Resume Next
Set MyFile = CreateObject("Scripting.FileSystemObject")
MyFile.MoveFile ThisWorkbook.Path & "abc.docx", ThisWorkbook.Path & "ABC"
Set MyFile = Nothing
MsgBox "OK!"
End Sub代码解析:
MoveFile过程使用MoveFile方法将示例文件所在文件夹中的“abc.docx”文件移动到“ABC”文件夹中。
第4行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。
第5行代码使用MoveFile方法移动文件。
运行MoveFile过程将示例文件所在文件夹中的“abc.docx”文件移动到同一目录中的“ABC”文件夹。
特别注意点:我上述的代码在64位机已经测试,可以使用的。我的计算机如下图:

代码截图:
运行前:
运行后:
今日内容回向:
1 读者是否清楚Set MyFile = CreateObject("Scripting.FileSystemObject")的意义呢?前些时还有一位读者问我这个问题,对于我的讲解: “CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。”是否明白呢?
2 MoveFile 是WSH的语言,其意义是否明白呢?
欢迎大家到我的自媒体平台沟通交流:个人微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。
这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。
工作不是一切。工作是每个人安身立命、成长发展的基础。但你要知道工作是永远也做不完的,时间会抹去很多问题。多关注自己、家人和朋友,这些才是我们生活中更为重要的东西。