五、⽂件系统对象(FileSystemObject)编程
1、File System Object 模型介绍
Visual Basic 的⼀个新功能是 File System Object (FSO) 对象模型,该模型提供了⼀个基于对象的⼯具来处理⽂件夹和⽂件。这使您除了使⽤传统的Visual Basic 语句和命令之外,还可以使⽤您所熟悉的带有⼀整套属性、⽅法和事件的 hod 语法来处理⽂件夹和⽂件。
FSO 对象模型使应⽤程序能够创建、改变、移动和删除⽂件夹,或者检测是否存在指定的⽂件夹,如果存在,在哪。FSO 对象模型也能使您获取关于⽂件夹的信息,诸如名称、创建⽇期或最近修改⽇期等等。FSO 对象模型也使得对⽂件的处理变得更加简单。在处理⽂件时,⾸要⽬标就是以⼀种可以有效利⽤空间和资源、并且易于存取的格式来存储数据。需要能够创建⽂件、插⼊和修改数据、以及输出(读)数据。虽然可以将数据存储在诸如 Jet 或 SQL 这样的数据库中,但是这样做将在应⽤程序中加⼊相当数量的额外开⽀。出于多种原因,您不想有这样的额外开⽀,或者数据存取要求不需要⽤⼀个与全功能数据库关联的所有额外功能。在这种情况下,⽤⼆进制或⽂本⽂件来存储数据是最有效的解决⽅法。包含在 Scripting 类型库(Scrrun.Dll) 中的FSO 对象模型⽀持通过TextStream 对象创建和操作⽂本⽂件。但是,它还不⽀持⼆进制⽂件的创建和操作。要操作⼆进制⽂件,请使⽤带 Binary 标志的 Open 命令(关于如何操作⼆进制⽂件的详细信息已在前⾯介绍过,请参阅)。
2、⽂件系统对象(File System Object)
FSO对象模型包括这些对象:
对象描述
Drive 允许收集关于系统所⽤的驱动器的信息,诸如驱动器有多少可⽤空间,其共享名称是什么,等等。请注意,⼀个“驱动器”并不⼀定是⼀个硬盘。它可以是 CD-ROM 驱动器、⼀个RAM 盘等等。⽽且,驱动器不⼀定是和系统物理地连接;也可以通过⼀个 LAN进⾏逻辑地连接。
Folder 允许创建、删除或移动⽂件夹,并向系统查询⽂件夹的名称、路径等。
Files 允许创建、删除或移动⽂件,并向系统查询⽂件的名称、路径等
FileSystemObject 该组的主要对象,提供⼀整套⽤于创建、删除、收集相关信息、以及通常的操作驱动器、⽂件夹和⽂件的⽅法。与本对象相关联的很多⽅法复制了其它对象中的⽅法。
TextStream 允许您读和写⽂本⽂件。
关于 FSO 对象模型中各种属性、⽅法和事件的信息,请使⽤ Visual Basic 中的“对象浏览器”(按 F2 键)并查看 Scripting 类型库。 
FSO对象模型包含在⼀个称为Scripting的类型库中,此类型库位于Scrrun.DII⽂件中。如果还没有引⽤此⽂件,从“⼯程”菜单的“引⽤”对话框选择"Microsoft Scripting Runtime "项。然后就可以使⽤"对象浏览器"来查看其对象、集合、属性、⽅法、事件以及它的常数。
3、FSO 对象模型编程
FSO对象模型编程包括三项主要任务:
使⽤CreateObject⽅法,或将⼀个变量声明为FileSystemObject对象类型来创建⼀个FileSystemObject对象。
对新创建的对象使⽤适当的⽅法。
访问该对象的属性。
下⾯分别说明。
(1)创建 FileSystemObject 对象
第⼀步是创建⼀个 FileSystemObject 对象以便进⾏处理。可以通过如下两种⽅法完成:
将⼀个变量声明为 FileSystemObject 对象类型:
Dim fso As New FileSystemObject
使⽤ CreateObject ⽅法来创建⼀个 FileSystemObject 对象:
Set fso = CreateObject("Scripting.FileSystemObject")
在上⾯的语法中, Scripting 是类型库的名称,⽽ FileSystemObject 则是想要创建⼀个实例的对象的名称。
注意:第⼀种⽅法只在 Visual Basic 中有效,⽽第⼆种⽅法在 Visual Basic或 VBScript 中都是可⾏的。
(2)使⽤适当的⽅法
下⼀步就是使⽤该 FileSystemObject 对象的适当⽅法。例如,如果想要创建⼀个新对象,既可以使⽤ CreateFolder ⽅法也可以使⽤ CreateTextFile ⽅法(FSO 对象模型不⽀持创建或删除驱动器)。如果想要删除对象,可以使⽤ FileSystemObject 对
象的 DeleteFile 和DeleteFolder ⽅法,或者 File 和 Folder 对象的 Delete ⽅法。使⽤适当的⽅法,还可以复制、移动⽂件和⽂件夹。
请注意,FileSystemObject 对象模型中有⼀些功能是冗余的。例如,要复制⼀个⽂件,既可以使⽤ FileSystemObject 对象的CopyFile ⽅法,也可以使⽤ File 对象的 Copy ⽅法。这两者的功能是完全相同的。两者同时提供的编程灵活性。
(3)访问已有的驱动器、⽂件和⽂件夹
要访问⼀个已有的驱动器、⽂件或⽂件夹,请使⽤ FileSystemObject 对象中相应的 "get" ⽅法:
GetDrive
GetFolder
GetFile
例如:
visual basic pdfDim fso As New FileSystemObject, fil As File
Set fil = fso.GetFile("c:\")
但是,请注意,并不需要对新创建的对象使⽤"get" ⽅法,因为"create" 函数已经返回了⼀个句柄到新创建的对象。例如,如果使⽤ CreateFolder ⽅法创建了⼀个新的⽂件夹,就没有必要使⽤ GetFolder ⽅法来访问该对象的诸如名称、路径、⼤⼩等属性。只要给 CreateFolder 函数设置⼀个变量来获取新建⽂件夹的句柄,然后就可以访问其属性、⽅法和事件

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。