打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA使用FileSystemObject将读取或写入文本文件(一) — Windows ...
个人资料守望麥田的Excel & VBA照片日志列表
日志
排列方式: 日期 类别
2010年 11月 2010年 10月 2010年 9月 2010年 8月 2010年 7月 2010年 6月 2010年 5月 2010年 4月 2010年 3月 2010年 2月 2010年 1月 2009年 12月 2009年 11月 2009年 10月 2009年 9月 2009年 8月 2009年 7月 2009年 6月 2009年 5月 2009年 4月 2009年 3月 2009年 2月 2009年 1月 2008年 12月 2008年 11月 2008年 10月 2008年 9月 2008年 8月 2008年 7月 2008年 6月 2008年 5月 2008年 4月 2008年 3月
11月13日
VBA使用FileSystemObject将读取或写入文本文件(一)
有时,我们需要将一个文本文件中的数据读取到Excel单元格中,或将指定单元格的内容按指定的格式导出到文本文件中,这时,我们就需要使用Scripting.FileSystemObject对象来进行操作。在接下来的几篇里我们介绍如何使用FileSystemObject对象操作文本文件的。工欲善其事,必先利其器,那么我们就先花几篇文章来详细介绍下FileSystemObject对象。
一、如何创建FileSystemObject对象
在VBA中,是通过CreateObject函数返回FileSystemObject对象。
示例:
Dim fso As Object Set fso=CreateObject("Scripting.FileSystemObject")
二、FileSystemObject主要方法介绍
1、CreateTextFile方法:用于创建一个指定文件名,并返回一个可操作的TextStream对象。
语法:object.CreateTextFile(filename[,overwrite[,unicode]])
参数 说明
object 必需的。为一个FileSystemObject对象的名字
filename 必需的,一个带路径的字符串表达式,为创建的文件
overwrite 可选的。Boolean值,如果为True表示覆盖已存在的文件,False表示不能覆盖。默认值为False。
unicode 可选的。Boolean值,表示文件是作为一个Unicode文件创建的还是作为一个ASCII文件创建的。如果为True则表示作为Unicode文件创建,False表示作为ASCII文件创建。默认值为False。
示例1:在C:\FSOTest\中创建一个名为testFile的文本文件,并写入一行“CreateTextFile Test”:
Sub CreateFile() Dim sFile As Object, FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") Set sFile = FSO.CreateTextFile("C:\FSOTest\TestFile.txt",True) sFile.WriteLine ("CreateTextFile Test") sFile.Close Set sFile = Nothing Set FSO = Nothing End Sub
2、DeleteFile方法:用于删除一个指定的文件。如果指定的文件不存在,则返回一个错误信息。
语法:object.DeleteFile(filespec[,force])
参数 说明
object 必需的。为一个FileSystemObject对象
filespec 必需的。要删除文件的名字。可以在最后的路径部件中包含通配符
force 可选的。Boolean值,如果要删除具有只读属性设置的文件,则为True。如果不能删除具有只读属性设置的文件,则为False。默认值为False
示例2:删除示例1中创建的文本文件。
Sub DeleteFile() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile ("C:\FSOTest\TestFile.txt") End Sub
3、FileExists方法:判断指定的文件是否存在。如果存在,则返回True,若不存在,则返回False
语法:object.FileExists(filespec)
参数 说明
object 必需的。为一个FileSystemObject对象
filespec 必需的。要确定是否存在的文件名。如果认为文件不在当前文件夹中,必须提供一个带完整的路径说明。
示例3:判断“C:\FSOTest\”中是否存在文件“testfile.txt”:
Sub FileExist() Dim fso As Object, blnExist As Boolean Set fso = CreateObject("Scripting.FileSystemObject") blnExist = fso.FileExists("C:\FSOTest\testfile.txt") MsgBox blnExist End Sub
4、OpenTextFile方法:打开一个指定的文件并返回一个TextStream对象,该对象可能于对文件进行读操作或追加操作。
语法:object.OpenTextFile(filename[,iomode[,create[,format]]])
参数 说明
object 必需的。始终是一个 FileSystemObject 的名字
filename 必需的。为一个文件名,包含完整路径说明
iomode 可选的。表示输入/输出方式。可为两个常数之一:ForReading或 ForAppending。
create 可选的。Boolean 值,它表示如果指定的 filename 不存在是否可以创建一个新文件。如果创建新文件,其值为 True。若不创建文件其值为 False。缺省值为 False。
format 可选的。三种 Tristate 值之一,用于指示打开文件的格式。如果省略,则文件以 ASCII 格式打开。
参数iomode可以设置为以下值:
常数 值 说明
ForReading 1 打开一个只读文件。不能对此文件进行写操作
ForWriting 2 打开一个可读写操作的文件,并删除原有文本内容
ForAppending 8 打开一个文件并写到文件的尾部
参数format可以设置为以下值:
常数 值 说明
TristateUseDefault -2 使用系统缺省打开文件
TristateTrue -1 以Unicode格式打开文件
TristateFalse 0 以ASCII格式打开文件
示例4:本例说明了使用OpenTextFile方法打开testfile.txt文件,并添加文字“OpenTextFile Test”:
Sub OpenTextFile() Dim fso As Object, sFile As Object Const ForReading = 1, ForWriting = 2, ForAppending = 8, TristateFalse = 0 Set fso = CreateObject("Scripting.FileSystemObject") Set sFile = fso.OpenTextFile("C:\FSOTest\testfile.txt", ForAppending, TristateFalse) sFile.Write "OpenTextFile Test" sFile.Close Set fso = Nothing Set sFile = Nothing End Sub
下一节中,我们将介绍FileSystemObject对象返回的TextStream对象的属性与方法,并示例如何对文本文件进行读写操作。
23:13 |写入日志 |Excel VBA
Windows Live 用户
评论
若要添加评论,请使用您的 Windows Live ID 登录
引用通告
此日志的引用通告 URL 是:
http://excelvba.spaces.live.com/blog/cns!C8DD59DD41646C63!157.trak
引用此项的网络日志
');}} //]]>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA使用FileSystemObject将读取或写入文本文件(二) — Windows Live
VBScript:处理文件(创建、写入、读取、删除)
VBA中的FileSystemObject对象(FSO)和文本流
ASP FSO文件操作
JS读写文件
asp(vbs)fso OpenTextFile方法参数说明
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服