MoveFolder方法在VBA中的利用
- 相关推荐
大家好,我们今日继续讲解VBA代码解决方案的第72讲内容:利用Windows Scripting Host(WSH),移动文件夹。在上一讲的内容中我们讲了如何复制文件夹,今日的内容我们讲解如何移动文件夹。
移动文件夹,我们会用到MoveFolder方法。应用于FileSystemObject对象的MoveFolder方法可以将一个或多个文件夹从一个地方移动到另一个地方,语法如下:object.MoveFolder source, destination
参数:
a) object是必须的, FileSystemObject对象的名字。
b) source是必须的,指明一个或多个要移动文件夹的字符串文件夹说明,在路径的最后部件中可以包括通配符。
c) destination是必须的,一个或多个文件夹要移动到的目标路径,不能包含通配符。
特别注意点:如果参数source中包含通配符或参数destination以路径分隔符()为结尾,则认为参数destination是一个已存在的文件夹,在此文件夹中移动相匹配的文件。否则认为参数destination是一个要创建的文件夹的名字。
对于方法的理解大家务必要重视实践,不要在抽象的理论中消耗时间,这些是我们在写代码时的一个参考,就如很多的朋友问我,不懂英语可以写代码吗?确实,如果有熟练的英语基础,会方便的写代码,但不懂英语也可以写出代码的,没问题。
我们今日还要给大家讲解一下FileSystemObject对象的有关知识,这个知识点不是VBA的内容,所以我是分散到各个文章中讲解的,在创建了FileSystemObject对象后就可以利用FileSystemObject对象方法了,这些方法有很多。我们在今日的内容中用到了MoveFolder方法就是其中的一种,这些方法我就简单的介绍给大家,或许在我之前的文章或之后的文章中会用到:首先要说明的是FileSystemObject对象模型中有些功能是重复的,如可用FileSystemObject对象的CpoyFile方法,也可用File对象的Copy方法来复制文件。所以不要老是问我:你写的代码中用什么什么方法可以吗?或者问我你写的代码中用什么什么方法不是更好吗?总是有人问这类的问题,我就不再一一的给解释了,实现一个目的的方法确实很多,你可以随便的用。今日说明的是FileSystemObject对象的GetDrive 方法.
1、GetDrive 方法 语法:object.GetDrive drivespec
drivespec参数可以是一个驱动器字符(c)、一个驱动器字符加一个冒号(c:)、一个驱动器字符加冒号和路径分隔符(c:)或任何网络共享的说明(computer2share1)。
作用:返回一个与指定路径中的驱动器相对应的 Drive 对象。
其他的方法以后会逐渐的讲解,
还是回到我们今日的话题,如果需要移动文件夹,可以使用MoveFolder方法,如下面的代码所示。
Sub MyMoveFolder()
Dim MyFile As Object
On Error Resume Next
Set MyFile = CreateObject("Scripting.FileSystemObject")
MyFile.MoveFolder ThisWorkbook.Path & "ABC-1", ThisWorkbook.Path & "QWE"
Set MyFile = Nothing
MsgBox "OK!"
End Sub
代码解析:
MyMoveFolder过程使MoveFolder方法将示例文件所在文件夹中的"ABC-1"文件夹移动到QWE文件夹中。
第4行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。
第5行代码使MoveFolder方法移动文件夹。
运行MoveFolder过程将示例文件所在文件夹中的"ABC-1"文件夹移动到QWE文件夹中。
代码截图:
运行前:
运行后:
今日内容回向:
1 如何移动一个文件夹?
2 MoveFolder 方法的作用是什么?
3 上述代码可否能实现在不同盘之前的移动呢?