GIS资讯 GIS技术 GIS产品 GIS书籍 GIS下载 GIS知识 GIS论文 GIS考研 GIS人物 GIS企业 GIS招聘 GPS相关 RS 相关 3D 相关 测绘相关 GIS博客 招标信息
您当前的位置:GIS资讯小组资讯中心GIS论文 → 资讯内容
Google
Excel-VBA操作文件四大方法之三
作者:佚名  来源:不详  更新时间:2008-1-3 11:25:35

减小字体 增大字体

  

三、利用FileSystemObject对象来处理文件

FileSystemObject对象模型,是微软提供的专门用来访问计算机文件系统的,具有大量的属性、方法和事件。其使用面向对象的“object.method”语法来处理文件夹和文件,使用起来十分方便(需Office 2000以后版本)。FileSystemObject并不是VBA的一部分,它是以一个COM组件的形式提供的。因此,要使用先要创建FileSystemObject对象。

FileSystemObject对象模型包含了下面的对象和集合:

·FileSystemObject 主对象,包含用来创建、删除和获得有关信息,以及用来操作驱动器、文件夹和文件的方法和属性。

·Drive   对象,包含用来获得信息的方法和属性,这些信息是关于连接在系统上的驱动器的,如有多少可用空间等。驱动器不一定是硬盘,也可以是CD-ROM、U盘甚至是通过网络在逻辑上连接的硬盘(如公司里部门共享的服务器网络硬盘)。

·Drives  集合,提供驱动器的列表,这些驱动器以实物或在逻辑上与系统相连接。Drives集合包括所有驱动器,与类型无关。

·File   对象,包含用来创建、删除或移动文件的方法和属性。

·Files   集合,提供包含在文件夹内的所有文件的列表。

·Folder  对象,包含用来创建、删除或移动文件夹的方法和属性。

·Folders  集合,提供包含在文件夹内的所有文件夹的列表。

·TextStream  对象,用来读写文本文件。


(一)准备工作

要使用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")


(二)FileSystemObject对象的方法

FileSystemObject对象模型中有些功能是重复的,如可用FileSystemObject对象的CpoyFile方法,也可用File对象的Copy方法来复制文件。下面先介绍FileSystemObject对象的方法。

1、GetDrive 方法

语法:object.GetDrive drivespec

drivespec参数可以是一个驱动器字符(c)、一个驱动器字符加一个冒号(c:)、一个驱动器字符加冒号和路径分隔符(c:\)或任何网络共享的说明(\\computer2\share1)。

作用:返回一个与指定路径中的驱动器相对应的 Drive 对象。

示例:
Dim d
Set d = fso.GetDrive("D:")  '变量d就代表了驱动器D对象
如果 drivespec 不符合任何一种可以接受的形式或者不存在,则发生一个错误。

注意:为简洁,示例中都假定fso是已经创建的FileSystemObject对象

2、GetDriveName 方法

语法:object.GetDriveName(path)

作用:返回一个包含指定路径的驱动器名字的字符串。

示例:
Debug.Print fso.GetDriveName("c:\test.txt")  '立即窗口显示"c:"

3、GetExtensionName 方法

语法:object.GetExtensionName(path)

作用:返回一个包含路径中最后部件扩展名的字符串。

示例:
Debug.Print fso.GetExtensionName("c:\test.txt")  '立即窗口显示"txt"

4、GetBaseName 方法

语法:object.GetBaseName(path)

作用:返回一个包含路径中最后部件的基本名字(去掉任何文件扩展名)的字符串。

示例:
Debug.Print fso.GetBaseName("c:\abc\test.txt")  '立即窗口显示"test"

5、GetAbsolutePathName 方法

语法:object.GetAbsolutePathName(pathspec)

作用:从提供的路径说明中返回一个完整、明确的路径。

示例:
如果pathspec为空字符串"",则返回当前路径。假设当前路径为C:\Documents and Settings\yc\My Documents

Debug.Print fs.GetAbsolutePathName("")  '显示C:\Documents and Settings\yc\My Documents

Debug.Print fs.GetAbsolutePathName("c:..") '显示C:\Documents and Settings\yc,即上层目录

Debug.Print fs.GetAbsolutePathName("abc") '显示C:\Documents and Settings\yc\My Documents\abc

Debug.Print fs.GetAbsolutePathName("c:\test.txt") '显示C:\test.txt

6、GetFile 方法

语法:object.GetFile(filespec)

作用:返回一个和指定路径中文件相对应的 File 对象。

示例:
Dim f
Set f = fso.GetFile("c:\test.txt")  '变量f就代表了文件test.txt对象
注意:如果指定的文件不存在,则发生一个错误。

7、GetFileName 方法

语法:object.GetFileName(pathspec)

作用:返回指定路径中的最后部件,该路径不是驱动器说明的一部分。

示例:
Debug.Print fso.GetFileName("c:\abc\test.txt")  '立即窗口显示"test.txt"

8、GetFolder 方法

语法:object.GetFolder(folderspec)

作用:返回一个和指定路径中文件夹相对应的 Folder 对象。

示例:
Dim fd
Set fd = fso.GetFolder("c:\windows")  '变量f就代表了文件夹windows对象

[1] [2] [3]  下一页



[] [返回上一页] [打 印]
资讯评论 (评论内容只代表 GISTM 网友观点,与本站立场无关!)

用户名: * 查看 GISTM 更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         ( 注意“*”必填,请自觉遵守法律法规!) 验证码: 验证码,看不清楚?请点击刷新验证码

推荐文章/热门文章
相关文章/相关下载
关于本站 - 免责声明 - 帮助(?) - 友情连接 - 网站地图 - 网站留言