ora-00955 名称已由现有对象使用_Excel VBA 操作文件(夹)神器--FSO对象

FSO对象是什么鬼?它是用来干什么的?

FSO是FileSystemObject(文件系统对象)的简称,提供了在windows中操作本地文件和文件夹的功能,此对象不光可用在VBA编程中,VC,VB编程语言中也可以实用此对象。

FSO 对象模型可以实现文件(夹)的创建、改变、移动和删除等常见操作,也可以获取文件(夹)的名称、大小、属性、创建日期或最近修改日期等信息,还可以检测是否存在指定的文件夹。通过FSO 对象模型可以获取当前系统驱动器信息,如驱动器的种类(CD-ROM还是可移动磁盘)、磁盘剩余空间等等。

怎样创建FSO对象?

创建FSO对象和创建字典对象类似,有两种方法:

第一种是直接创建法:

Dim MyFSO as Object

Set MyFSO = CreateObject("Scripting.FileSystemObject")

第二种是引用发:

首先通过VBE编译器里的 工具->引用->浏览中找到scrrun.dll文件,点击确定,具体操作如下:

ab45420ec982ec106b28ac8913830ea9.gif

然后在VBA代码中,用 Dim MyFSO As New FileSystemObject 来创建新的FSO对象。

FSO对象的属性有哪些?

FSO对象的属性如下:

f31d662dea2bc2c328ed2befb859b46e.png

小伙伴们要着重了解一下:驱动器属性Drivers,

返回一个 Drive 集合, 该集合由本地计算机上可用的所有Drive对象组成。

语法格式为:FSO对象.Drives。

应用举例如下:

c7e15092c6fde7840b824ec34863e7c7.png

备注:Drive对象提供对特定磁盘驱动器或网络共享的属性的访问

Drive对象的属性如下:

ccbe70edae19a7849066e3acdae28242.png

FSO对象的方法有哪些?

FSO对象的方法有27个,具体如下表:

4664d0e4061a0915a17bd0a6abc473fa.png

常用的方法说明如下:

BuildPath方法 ,将文件夹路径和文件夹或文件的名称组合在一起,并返回与有效路径分隔符的组合

语法格式:FSO.BuildPath(Path,Name)

Path:必需。组合了_名称_的现有路径。路径可以是绝对路径或相对路径,并且不需要指定现有文件夹。

Name:必需。追加到现有_路径_中的文件夹或文件的名称。

CopyFile 方法,将一个或多个文件从一个位置复制到另一个位置

语法格式:FSO.CopyFile Source、destination 、[OverWirte]

Source 必需。字符串文件规范,可以包括通配符来代表要复制的一个或多个文件。

destination 必需。要将 source 中的文件复制到的字符串目标。不能使用通配符。

OverWirte 可选。布尔值,指示是否覆盖现有文件。如果为 True,则覆盖文件,如果为 False,则不覆盖文件。默认为 True。请注意,如果 destination 具有只读属性集,则不管 overwrite 值是什么,CopyFile 都将失败。

CopyFolder方法,将文件夹从一个位置递归复制到另一个位置。语法格式与CopyFile方法相同。

CreateFolder 方法,创建文件夹。

语法格式:FSO.CreateFolder(FolderName)

FolderName 必需。 标识要创建的文件夹的字符串表达式。

注意的是:如果指定文件夹已存在,则将出错。

DeleteFile 方法,删除指定文件。

语法格式:FSO.DeleteFile filespec,[ force ]

Filespec 必需。要删除的文件的名称。filespec 可以在最后的路径组件中包含通配符。

Force 可选。若要删除带有只读属性集的文件,则 Boolean 值为 True;否则为 False(默认)。

DeleteFolder方法,删除指定文件夹及其内容。语法格式与DeleteFile方法相同。

DriveExists 方法,如果指定的驱动器存在,则返回 True;否则,返回 False。

语法格式:FSO.DriveExists(drivespec)

drivespec 必需。 驱动器根目录的驱动器号或路径规范。

FileExists方法,FolderExists方法,如果指定文件或文件夹存在,则返回True;否则,返回 False。语法格式与DriveExists方法相同。

GetFile 方法,返回与指定路径中的文件对应的file 对象。

语法格式:FSO.GetFile(filespec)

FileSpec 必需。是特定文件的(绝对或相对)路径。

GetFolder方法,返回与指定路径中的文件夹对应的folder对象。语法格式与GetFile方法格式相同。

GetParentFolderName方法,返回一个字符串,其中包含指定路径中最后一个组件的父文件夹的名称。

语法格式:FSO.GetParentFolderName(path)

path 必需。要返回其父文件夹名称的组件的路径说明。

MoveFile方法,将一个或多个文件从一个位置移动到另一个位置。

语法格式:FSO.MoveFile Source,destination

Source 必需。 要移动的一个或多个文件的路径。 source 参数字符串只能在最后一个路径组件中包含通配符。

destination 必需。 一个或多个文件要移动到的路径。 destination 参数不能包含通配符。

MoveFolder方法,将一个或多个文件夹从一个位置移动到另一个位置。语法格式与MoveFile方法相同。

此部分内容较多,希望小伙伴们能静下心来阅读,此对象对文件以及文件夹的处理非常方便,下一篇文章将会通过一个具体的实例来加深对此FSO对象的理解。

另外小伙伴们一定要减少出门,响应国家号召,防止感染新型冠状肺炎。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值