VBA使用FileSystemObject将读取或写入文本文件(二)在上一节“VBA使用FileSystemObject将读取或写入文本文件(一)”中我们详细介绍了如何创建一个FileSystemObject对象及其对象。那么,在这一节里,将详细介绍FileSystemObject对象在创建或打开文本文件后返回的TextStream对象的一些属性及方法。 三、FileSystemObject对象返回的TextStream对象的属性及方法说明: 创建TextStream对象示例: Dim sFile As Object, fso As Object Set fso = CreateObject("Scripting.FileSystemObject") Set sFile = fso.CreateTextFile("C:\TestFile.txt") 示例中的sFile便为TextStream对象。 (一)TextStream属性: 1、Line属性:只读属性,返回一个TextStream文件中的当前行号。文件初次打开后,在写任何东西之彰,Line的值为1。 语法:object.Line 2、AtEndOfStream属性:只读属性,如果文件指针在TextStream文件末尾,则返回True;否则返回False。 语法:object.AtEndOfStream 3、AtEndOfLine属性:只读属性,如果文件指针在TextStream文件行尾标记的前面,则返回True;否则返回False。 语法:object.AtEndOfLine (二)TextStream方法: 1、WriteLine方法:写入一个指定的字符和换行符到一个TextStream文件中。 语法:object.WriteLine([string])
示例:打开一个文本文件并在文本文件中写入一些字符。 Sub WriteLine() 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.WriteLine "WriteLine Test" sFile.Close Set fso = Nothing Set sFile = Nothing End Sub 2、Write方法:写一个指定的字符串到一个TextStream文件中。指定的字符串被写入到文件中,在每个字符串之间没有插入空格或字符。使用WriteLine方法写入一个换行符或一个以换行符为结尾的字符串。 语法:object.Write(string)
示例:下列代码将一个字符串写入到文本文件中,并实现与WriteLine方法相同的效果,即加入空格或换行符。 Sub WriteTest() 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 "Write Test" & vbTab & vbCrLf '同时加入一个Tab位及一个换行符 sFile.Close Set fso = Nothing Set sFile = Nothing End Sub 3、ReadLine方法:从一个TextStream文件读取一整行(到换行符但不包括换行符)并返回得到的字符串。 语法:string=object.ReadLine
示例:打开一个文本文件,并读取内容。 Sub ReadLine() 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", ForReading) MsgBox sFile.ReadLine sFile.Close Set fso = Nothing Set sFile = Nothing End Sub 4、Read方法:从一个TextStream文件中读取指定数量的字符并返回得到的字符串。 语法:object.Read(characters)
示例:从一个打开的文本文件中读取5个字符。 Sub ReadTest() 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", ForReading) MsgBox sFile.Read(5) sFile.Close Set fso = Nothing Set sFile = Nothing End Sub 5、Close方法:关闭一个打开的TextStream文件。 语法:object.Close 6、WriteBlankLines方法:写入指定数量的换行符到一个TextStream文件中。 语法:object.WriteBlankLines(lines)
示例:在一个打开的文本文件中写入两个空行。 Sub WriteBlankLines() 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) sFile.WriteBlankLines (2) sFile.Close Set fso = Nothing Set sFile = Nothing End Sub 7、SkipLine方法:当读一个TextStream文件时跳过下一行。跳过一个是指读取放弃一行中的所有字符,一直到并包括该行的换行符。如果读的文件没有打开,则产生一个错误。 语法:object.SkipLine 8、Skip方法:当读一个TextStream文件时跳过指定数量的字符。跳过的字符将不被读取。 语法:object.Skip(characters)
好了。这一节中介绍了TextStream对象的一些属性及方法。到这一节为止,我们就已经基本掌握了在VBA中如何使用 FileSystemObject来读写文本文件的方法了。在接下来的一节里,我们将学习如何将文本文件中的数据读取到Excel中,及如何将Excel 单元格中的数据写入到指定的文本文件中。 |
|