vba使用filesystemobject将读取或写入文本文件

上传人:第*** 文档编号:30556739 上传时间:2018-01-30 格式:DOCX 页数:13 大小:60.24KB
返回 下载 相关 举报
vba使用filesystemobject将读取或写入文本文件_第1页
第1页 / 共13页
vba使用filesystemobject将读取或写入文本文件_第2页
第2页 / 共13页
vba使用filesystemobject将读取或写入文本文件_第3页
第3页 / 共13页
vba使用filesystemobject将读取或写入文本文件_第4页
第4页 / 共13页
vba使用filesystemobject将读取或写入文本文件_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《vba使用filesystemobject将读取或写入文本文件》由会员分享,可在线阅读,更多相关《vba使用filesystemobject将读取或写入文本文件(13页珍藏版)》请在金锄头文库上搜索。

1、VBA 使用 FileSystemObject 将读取或写入文本文件 (一) 分类: VBA 2010-08-12 11:40 1211 人阅读 评论(0) 收藏 举报 有时,我们需要将一个文本文件中的数据读取到 Excel 单元格中,或将指定单元格的内容按指定的格式导出到文本文件中,这时,我们就需要使用Scripting.FileSystemObject 对象来进行操作。在接下来的几篇里我们介绍如何使用 FileSystemObject 对象操作文本文件的。工欲善其事,必先利其器,那么我们就先花几篇文章来详细介绍下 FileSystemObject 对象。一、如何创建 FileSystemO

2、bject 对象在 VBA 中,是通过 CreateObject 函数返回 FileSystemObject 对象。示例:Dim fso As ObjectSet fso=CreateObject(Scripting.FileSystemObject)二、FileSystemObject 主要方法介绍1、 CreateTextFile 方法:用于创建一个指定文件名,并返回一个可操作的TextStream 对象。语法:object.CreateTextFile(filename,overwrite,unicode)参数 说明object 必需的。为一个 FileSystemObject 对象的名

3、字filename 必需的,一个带路径的字符串表达式,为创建的文件overwrite 可选的。Boolean 值,如果为 True 表示覆盖已存在的文件, False 表示不能覆盖。默认值为 False。unicode 可选的。Boolean 值,表示文件是作为一个 Unicode 文件创建的还是作为一个 ASCII 文件创建的。如果为 True 则表示作为 Unicode 文件创建,False 表示作为 ASCII 文件创建。默认值为 False。示例 1:在 C:/FSOTest/中创建一个名为 testFile 的文本文件,并写入一行“CreateTextFile Test”:Sub C

4、reateFile()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.CloseSet sFile = NothingSet FSO = NothingEnd Sub2、DeleteFile 方法:用于删除一个指定的文件。如果指定的文件不存在,则返回一个错误信息。语法:o

5、bject.DeleteFile(filespec,force)参数 说明object 必需的。为一个 FileSystemObject 对象filespec 必需的。要删除文件的名字。可以在最后的路径部件中包含通配符force 可选的。Boolean 值,如果要删除具有只读属性设置的文件,则为True。如果不能删除具有只读属性设置的文件,则为 False。默认值为False示例 2:删除示例 1 中创建的文本文件。Sub DeleteFile()Dim fso As ObjectSet fso = CreateObject(Scripting.FileSystemObject)fso.Del

6、eteFile (C:/FSOTest/TestFile.txt)End Sub3、FileExists 方法:判断指定的文件是否存在。如果存在,则返回 True,若不存在,则返回 False语法:object.FileExists(filespec)参数 说明object 必需的。为一个 FileSystemObject 对象filespec 必需的。要确定是否存在的文件名。如果认为文件不在当前文件夹中,必须提供一个带完整的路径说明。示例 3:判断 “C:/FSOTest/”中是否存在文件“testfile.txt”:Sub FileExist()Dim fso As Object, bln

7、Exist As BooleanSet fso = CreateObject(Scripting.FileSystemObject)blnExist = fso.FileExists(C:/FSOTest/testfile.txt)MsgBox blnExistEnd Sub4、 OpenTextFile 方法:打开一个指定的文件并返回一个 TextStream 对象,该对象可能于对文件进行读操作或追加操作。语法:object.OpenTextFile(filename,iomode,create,format)参数 说明object 必需的。始终是一个 FileSystemObject 的名

8、字filename 必需的。为一个文件名,包含完整路径说明iomode 可选的。表示输入/输出方式。可为两个常数之一: ForReading 或 ForAppending。create 可选的。Boolean 值,它表示如果指定的 filename 不存在是否可以创建一个新文件。如果创建新文件,其值为 True。若不创建文件其值为 False。缺省值为 False。format 可选的。三种 Tristate 值之一,用于指示打开文件的格式。如果省略,则文件以 ASCII 格式打开。参数 iomode 可以设置为以下值:常数 值 说明ForReading 1 打开一个只读文件。不能对此文件进行

9、写操作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, sFil

10、e As ObjectConst ForReading = 1, ForWriting = 2, ForAppending = 8, TristateFalse = 0Set fso = CreateObject(Scripting.FileSystemObject)Set sFile = fso.OpenTextFile(C:/FSOTest/testfile.txt, ForAppending, TristateFalse)sFile.Write OpenTextFile TestsFile.CloseSet fso = NothingSet sFile = NothingEnd Sub下

11、一节 VBA 使用 FileSystemObject 将读取或写入文本文件 (二) 分类: VBA 2010-08-12 11:42 951 人阅读 评论(0) 收藏 举报 在上一节“ VBA 使用 FileSystemObject 将读取或写入文本文件 (一)”中我们详细介绍了如何创建一个 FileSystemObject 对象及其对象。那么,在这一节里,将详细介绍 FileSystemObject 对象在创建或打开文本文件后返回的 TextStream 对象的一些属性及方法。三、FileSystemObject 对象返回的 TextStream 对象的属性及方法说明:创建 TextStre

12、am 对象示例:Dim sFile As Object, fso As ObjectSet fso = CreateObject(Scripting.FileSystemObject)Set sFile = fso.CreateTextFile(C:/TestFile.txt)示例中的 sFile 便为 TextStream 对象。(一)TextStream 属性:1、 Line 属性:只读属性,返回一个 TextStream 文件中的当前行号。文件初次打开后,在写任何东西之彰,Line 的值为 1。 语法:object.Line2、 AtEndOfStream 属性:只读属性,如果文件指针在

13、 TextStream 文件末尾,则返回 True;否则返回 False。语法:object.AtEndOfStream3、 AtEndOfLine 属性:只读属性,如果文件指针在 TextStream 文件行尾标记的前面,则返回 True;否则返回 False。语法:object.AtEndOfLine(二)TextStream 方法:1、 WriteLine 方法:写入一个指定的字符和换行符到一个 TextStream文件中。语法:object.WriteLine(string)Object:必需的。表示一个 TextStream 对象的名字。string:可选的。要写入文件的正文。如果省

14、略,一个换行符被写入文件中。示例:打开一个文本文件并在文本文件中写入一些字符。Sub WriteLine()Dim fso As Object, sFile As ObjectConst ForReading = 1, ForWriting = 2, ForAppending = 8, TristateFalse = 0Set fso = CreateObject(Scripting.FileSystemObject)Set sFile = fso.OpenTextFile(C:/FSOTest/testfile.txt, ForAppending, TristateFalse)sFile.W

15、riteLine WriteLine TestsFile.CloseSet fso = Nothing Set sFile = NothingEnd Sub2、 Write 方法:写一个指定的字符串到一个 TextStream 文件中。指定的字符串被写入到文件中,在每个字符串之间没有插入空格或字符。使用WriteLine 方法写入一个换行符或一个以换行符为结尾的字符串。语法:object.Write(string)object:必需的。为一个 TextStream 对象的名字。string:必需的。要写到文件中的字符串。示例:下列代码将一个字符串写入到文本文件中,并实现与 WriteLine方

16、法相同的效果,即加入空格或换行符。Sub WriteTest()Dim fso As Object, sFile As ObjectConst ForReading = 1, ForWriting = 2, ForAppending = 8, TristateFalse = 0Set fso = CreateObject(Scripting.FileSystemObject)Set sFile = fso.OpenTextFile(C:/FSOTest/testfile.txt, ForAppending, TristateFalse)sFile.Write Write Test & vbTab & vbCrLf 同时加入一个 Tab 位及一个换行符sFile.CloseSet fso = NothingSet sFile = NothingEnd Sub3、 ReadLine 方法:从一个 TextStre

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号