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])

Object:必需的。表示一个TextStream对象的名字。

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)

object:必需的。为一个TextStream对象的名字。

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

string:返回的字符串。

object:一个TextStream对象。

    示例:打开一个文本文件,并读取内容。

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)

object:必需的。表示为一个TextStream对象的名字。

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)

object:必需的。指一个TextStream对象的名字。

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)

object:必需的。表示一个TextStream对象的名字。

characters:必需的。当读文件时要跳过的字符的数量。

好了。这一节中介绍了TextStream对象的一些属性及方法。到这一节为止,我们就已经基本掌握了在VBA中如何使用FileSystemObject来读写文本文件的方法了。在接下来的一节里,我们将学习如何将文本文件中的数据读取到Excel中,及如何将Excel单元格中的数据写入到指定的文本文件中。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值