Excel VBA 编程基础 -- 现代文件处理(七)TextStreamTextStream 对象属于 FileSystemOject 对象系统的一部分,用于文本文件的读写操作。TextStream 的属性列表如下:表1 TextStream 对象的属性列表TextStream 对象的方法如下表所示:表2 TextStream 对象的方法列表下面逐一讨论 TextStream 的各个方法。TextStream.Close一般格式是:TextStream.Close关闭已打开的 TextStream 文件。TextStream.Read从 TextStream 文件中读取指定数量的字符,并返回读取结果。一般格式是:TextStream.Read(numberOfCharacters)其中,numberOfCharacters 参数指定要读取的字符数。TextStream.ReadAll读取整个 TextStream 文件,并返回读取结果。一般格式是:TextStream.ReadAll注:ReadAll 适合于读取小型文件,对于大型文件,使用 ReadAll 并不是经济的做法,一般是逐行读取大型文件。TextStream.ReadLine从 TextStream 文件中读取一行,并返回读取结果。一般格式是:TextStream.ReadLine注:ReadLine 读取一行,但返回的结果中并不包括换行符,换行符被丢弃。TextStream.Skip在读取 TextStream 过程中,跳过指定数量的字符。一般格式是:TextStream.Skip(numberOfCharacters)其中,numberOfCharacters 指定要跳过的字符数量。注:“跳过指定数量的字符”的意思是读入指定数量的字符并丢弃。TextStream.SkipLine在读取 TextStream 文件过程中,跳过下面的行。一般格式是:TextStream.SkipLine注:“跳过下面的行”的意思是:从文件指针指向的位置开始读,一直读到换行符(读入换行符),然后将读入的内容丢弃。TextStream.Write向 TextStream 文件写入指定的字符串。一般格式是:TextStream.Write(string)其中,string 表示要写入 TextStream 文件的字符串。注:Write 向 TextStream 文件中忠实写入指定的字符串,不添加任何额外内容。TextStream.WriteBlankLines向 TextStream 写入指定数量的换行符。一般格式是:TextStream.WriteBlankLines(numberOfLines)其中,numberOfLines 表示向 TextStream 文件写入的换行符数量。TextStream.WriteLine向 TextStream 文件写入指定的字符串,并附加一个换行符。一般格式是:TextStream.WriteLine([ string ])其中,可选参数 string 表示向文件写入的字符串。如果省略 string 参数,则向文件写入一个换行符。因此,下面的两条 Write 语句是等价的:Dim ts As TextStreamSet ts = ...ts.WriteBlankLines(1) ' Write a blank linets.WriteLine ' Write a blank line由上面的介绍可以看出,TextStream 对象比较简单。下面看例子。例1. TextStream 用法示例图1 TextStream 对象用法示例在这个例子中,首先通过 FSO.GetFile 得到 File 对象,然后通过 File.OpenAsTextStream 方法得到一个只写的 TextStream 对象。接下来就是向文件写入内容。Write 写入一个字符串,但仅写入指定的字符串,然后用 WriteBlankLines 写入三个换行符(注:此时已经向文件中写入了三行!),然后是两个 WriteLine,向文件中写入两行内容。最后用 Close 关闭文件。接下来用 File.OpenAsTextStream 打开一个只读的 TextStream,然后用一个 While ... Wend 循环读入文件所有内容。While 循环的终止条件是 AtEndOfStream 返回 True,说明已到达文件尾。进入循环体,首先是 Debug.Print 打印语句,该语句的参数是一个字符串组合表达式,首先是用 Line 属性获取当前行号,然后是分隔符,接着是用 ReadLine 读取并返回下一行。接着是一个 If ... End If 语句,判断当前是否已处于文件尾,如果不在文件尾,则使用 SkipLine 跳过下一行。所以,整个读取段的功能是:读取并打印文件中的奇数行。这从立即窗口中的输出结果就可以看出来。下面是 ut.txt 的完整内容:图2 ut.txt从图2 可以看出,Hello 下面有两个空行。而在图1 的代码中,我们使用了 WriteBlankLines(3) 向文件中写入了三个换行符,为什么 Hello 后面只有两个空行呢?相关阅读Excel VBA 编程基础 -- 现代文件处理(一)Excel VBA 编程基础 -- 现代文件处理(二)Excel VBA 编程基础 -- 现代文件处理(三)Excel VBA 编程基础 -- 现代文件处理(四)Excel VBA 编程基础 -- 现代文件处理(五)Excel VBA 编程基础 -- 现代文件处理(六)