vb复制文件代码大全,vb复制的代码怎么运行

首页 > 实用技巧 > 作者:YD1662023-11-10 11:37:59

大家好,我们今日继续讲解VBA代码解决方案的第71讲内容:利用Windows Scripting Host(WSH),复制文件夹

如果需要复制文件夹,可以使用CopyFolder方法。应用于FileSystemObject对象的CreateObject方法从一个地方递归地复制一个文件夹到另一个地方,语法如下:

object.CopyFolder source, destination[, overwrite]

参数:

a) object是必须的, FileSystemObject对象的名字。

b) source是必须的,指明一个或多个被复制文件夹的字符串文件夹说明,可以包括通配符。

c) destination是必须的,被复制文件夹和子文件夹的接受端的字符串,不允许有通配符。

d) overwrite是可选的,表示已存在的文件夹是否被覆盖。如果为True,文件被覆盖,如果为False,文件不被覆盖。缺省值为True。

特别注意点:如果参数source中包含通配符或参数destination以路径分隔符(\)为结尾,则认为参数destination是一个已存在的文件夹,在其中复制相匹配的文件夹和子文件夹。否则认为参数destination是一个要创建的文件夹的名字。

讲完了上面本节要利用到的方法,我们再来学习一点关于FileSystemObject对象的知识, 要使用FileSystemObject对象,先要创建它。创建FileSystemObject对象要使用CreatObject函数。CreateObject 函数用来创建并返回一个对 ActiveX 对象的引用。这个函数的语法我在之前讲解过,再次的复习一下:

语法:CreateObject(class,[servername])

参数:class 是要创建的应用程序名称和类。;servername 要在其上创建对象的网络服务器名称。(如果要在远程计算机上创建对象才用)

class 参数使用 appname.objecttype 这种语法,包括以下部分:appname 必需的;提供该对象的应用程序名。 objecttype 必须的;待创建对象的类型或类。因此,我们用下面的代码创建FileSystemObject对象:

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

其中Scripting是类型库的名称,FileSystemObject就是要创建的对象的名字。同样我们可以创建Dictionary 对象如下:

Dim d

Set d = CreateObject("Scripting.Dictionary")

好了就讲到这里,下面我们继续看文件夹的复制方法,看下面的代码:

Sub MyCopyFolder()

Dim MyFile As Object

Set MyFile = CreateObject("Scripting.FileSystemObject")

MyFile.CopyFolder ThisWorkbook.Path & "\ABC", ThisWorkbook.Path & "\ABC-1"

Set MyFile = Nothing

MsgBox "OK!"

End Sub

代码解析:MyCopyFolder过程使CopyFolder方法将示例文件所在文件夹中的"ABC"文件夹复制并改名为"ABC-1"文件夹。

第3行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。

第4行代码使用CopyFolder方法复制文件夹。

运行CopyFolder过程将示例文件所在文件夹中的"ABC"文件夹复制并改名为"ABC-1"文件夹。

代码窗口截图:

vb复制文件代码大全,vb复制的代码怎么运行(1)

运行后:生成一个新的文件夹ABC-1

vb复制文件代码大全,vb复制的代码怎么运行(2)

今日内容分回向:

1 如何复制一个文件呢?CopyFolder的意义是什么?

2 CreateObject(class,[servername])的作用是什么?

好,我们今日继续讲解VBA代码解决方案的第71讲内容:利用Windows Scripting Host(WSH),复制文件夹

如果需要复制文件夹,可以使用CopyFolder方法。应用于FileSystemObject对象的CreateObject方法从一个地方递归地复制一个文件夹到另一个地方,语法如下:

object.CopyFolder source, destination[, overwrite]

参数:

a) object是必需的, FileSystemObject对象的名字。

b) source是必需的,指明一个或多个被复制文件夹的字符串文件夹说明,可以包括通配符。

c) destination是必需的,被复制文件夹和子文件夹的接受端的字符串,不允许有通配符。

d) overwrite是可选的,表示已存在的文件夹是否被覆盖。如果为True,文件被覆盖,如果为False,文件不被覆盖。缺省值为True。

特别注意点:如果参数source中包含通配符或参数destination以路径分隔符(\)为结尾,则认为参数destination是一个已存在的文件夹,在其中复制相匹配的文件夹和子文件夹。否则认为参数destination是一个要创建的文件夹的名字。

讲完了上面本节要利用到的方法,我们再来学习一点关于FileSystemObject对象的知识, 要使用FileSystemObject对象,先要创建它。创建FileSystemObject对象要使用CreatObject函数。CreateObject 函数用来创建并返回一个对 ActiveX 对象的引用。这个函数的语法我在之前讲解过,再次的复习一下:

语法:CreateObject(class,[servername])

参数:class 是要创建的应用程序名称和类。;servername 要在其上创建对象的网络服务器名称。(如果要在远程计算机上创建对象才用)

class 参数使用 appname.objecttype 这种语法,包括以下部分:appname 必需的;提供该对象的应用程序名。 objecttype 必需的;待创建对象的类型或类。因此,我们用下面的代码创建FileSystemObject对象:

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

其中Scripting是类型库的名称,FileSystemObject就是要创建的对象的名字。同样我们可以创建Dictionary 对象如下:

Dim d

Set d = CreateObject("Scripting.Dictionary")

好了就讲到这里,下面我们继续看文件夹的复制方法,看下面的代码:

Sub MyCopyFolder()

Dim MyFile As Object

Set MyFile = CreateObject("Scripting.FileSystemObject")

MyFile.CopyFolder ThisWorkbook.Path & "\ABC", ThisWorkbook.Path & "\ABC-1"

Set MyFile = Nothing

MsgBox "OK!"

End Sub

代码解析:MyCopyFolder过程使CopyFolder方法将示例文件所在文件夹中的"ABC"文件夹复制并改名为"ABC-1"文件夹。

第3行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile。

第4行代码使用CopyFolder方法复制文件夹。

运行CopyFolder过程将示例文件所在文件夹中的"ABC"文件夹复制并改名为"ABC-1"文件夹。

代码窗口截图:

vb复制文件代码大全,vb复制的代码怎么运行(3)

运行后:生成一个新的文件夹ABC-1

vb复制文件代码大全,vb复制的代码怎么运行(4)

今日内容分回向:

1 如何复制一个文件夹呢?CopyFolder的意义是什么?

2 CreateObject(class,[servername])的作用是什么?

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.