备注:两者的区别是:Skip——跳过指定的几个字符;SkipLine——跳过一行
二、TextStream对象的属性
TextStream 的属性提供有关文件内文件指针当前位置的信息,如表9所示。注意,所有的属性是只读的。
|
表10 TextStream 对象的属性及说明 |
|
|
属性 |
说明 |
|
AtEndOfLine |
如果文件位置指针在文件中一行的末尾则返回 True |
|
AtEndOfStream |
如果文件位置指针在文件的末尾则返回 True |
|
Column |
从 1 开始返回文件中当前字符的列号 |
|
Line |
从 1 开始返回文件中当前行的行号” |
AtEndOfLine 和 AtEndOfStream 属性仅对以 iomode 参数为 ForReading 的方式打开的文件可用,否则将会出错。
AtEndOfLine及AtEndOfStream的使用
示例:
| Dim strPath,strText strPath = "C:/testing.txt" '调用函数 Call CreateFile(strPath) Sub CreateFile(strPath) Dim objFso,objStream,str '创建FileSystemObject对象 Set objFso = CreateObject("Scripting.FileSystemObject") '以只读的方式打开文件,如果文件不存在则创建它 Set objStream = objFso.OpenTextFile(strPath,1,true) '如果当前的指针不在行末,则读取文本内容 Do While objStream.AtEndOfLine <> true ‘Do While objStream.AtEndOfStream <> true str = str + objStream.Read(1) Loop msgbox str '关闭TextStream对象 objStream.Close End Sub |
备注:两者间的区别是:AtEndOfLine——读取到当前文本行的末尾;AtEndOfStream——读取到整个文本的末尾
Column及Line的使用
示例:
| Sub TestTextStream(strPath) Dim objFso,objTStream,str Set objFso = CreateObject("Scripting.FileSystemObject") '以只读的方式打开文件 Set objTStream = objFso.OpenTextFile(strPath,1) '如果当前的指针不在整个文档的末尾,读取文本的所有内容 Do While objTStream.AtEndOfStream <> true objTStream.ReadAll str = str + "共有" & objTStream.Line & "行数据,光标最后所在列号为:" & objTStream.Column & vbCrLf Loop '打印信息 print str End Sub |
以下是补充资料:
FSO包含的常见对象有:
|
对象/集合 |
描述 |
|
Drive |
包含储存设备的信息,包括硬盘、光驱、ram盘、网络驱动器 |
|
Drives |
提供一个物理和逻辑驱动器的列表 |
|
File |
检查和处理文件 |
|
Files |
提供包含在文件夹内的所有文件的列表 |
|
Folder |
检查和处理文件夹 |
|
Folders |
提供在 Folder 内的所有文件夹的列表 |
|
TextStream |
对象。用来读写文本文件。 |







