创建文本文件的两种方法
2011年02月07日
1、创建文本文件的两种方法
①创建文本文件:使用VB语句创建文本文件
Sub VB创建文件()
Dim sfname As String, iFnumber As Integer, r As Long
sfname = ThisWorkbook.Path & "\" & "VB文件.txt"
iFnumber = FreeFile '获取可用文件叫号
Open sfname For Output As #iFnumber '用Output方式打开文件
Print #iFnumber, "数据行1" '向文件中写入数据
Close #iFnumber
End Sub
复制代码
②创建文本文件:使用FSO对象创建文本文件
使用此方法需要先将Scripting类型库加入工程中(即:Microsoft Scripting Runtime)
Sub FSO创建文件()
Dim fso As New filesystemobject '声明FSO对象新变量
Dim oStream As TextStream '声明oStream为文本流
Dim sfname As String
sfname = ThisWorkbook.Path & "\" & "FSO文件.txt"
Set oStream = fso.CreateTextFile(sfname, True) '创建文本流对象
oStream.WriteLine "数据行1" '向文本流对象写入数据
oStream.Close '关闭文本流对象
Set oStream = Nothing
Set fso = Nothing
End Sub
复制代码
知识点1:Write方法:将给定的字符串写入到一个TextStream文件中,不换行;WritLine方法:向TextStream文件写入给定的字符串和一个换行符;WriteBlankLines方法:将指定数量的换行符写入到一个Textstream文件中。
2、读取文本文件的两种方法
①使用VBA语句读取文本文件数据
②使用SFO对象读取文本文件数据
3、添加数据到文本文件
Sub 添加数据到文件()
Dim fso As New FileSystemObject
Dim ostream As TextStream
Dim sfname As String
sfname = ThisWorkbook.Path & "\" & "FSO文件.txt"
'打开文件为文本流对象
Set ostream = fso.OpenTextFile(Filename:=sfname, IOMode:=ForAppending, Create:=True, Format:=TristateTrue)
With ostream
For i = 2 To 10
.WriteLine "新增加数据第" & i & "行"
Next i
End With
End Sub
复制代码
知识点2:
[b]OpenTextFile 方法[/b]
打开一个指定的文件并返回一个 [b]TextStream[/b]对象,该对象可用于对文件进行读操作或追加操作。
[b]语法[/b]object.[b]OpenTextFile([/b]filename[[b],[/b]
iomode[[b],[/b]
create[[b],[/b]
format[b])[/b]
[b]OpenTextFile[/b]方法有如下几部分:
[b]部分[/b]
[b]描述[/b]
Object
必需的。始终是一个 [b]FileSystemObject[/b] 的名字。
filename
必需的。字符串表达式,它标识了打开的文件。
iomode
可选的。表示输入/输出方式。可为两个常数之一:[b]ForReading[/b]或[b]ForAppending[/b]。
create
可选的。[b]Boolean[/b]值,它表示如果指定的filename不存在是否可以创建一个新文件。如果创建新文件,其值为[b]True[/b]。若不创建文件其值为[b]False[/b]。缺省值为[b]False[/b]。
format
可选的。三种[b]Tristate[/b]值之一,用于指示打开文件的格式。如果省略,则文件以ASCII格式打开。
[b]设置值:[/b]iomode参数可为下面设置值的任何一个:
[b]常数[/b]
[b]值[/b]
[b]描述[/b]
[b]ForReading[/b]
1
打开一个只读文件。不能对此文件进行写操作。
[b]ForAppending[/b]
8
打开一个文件并写到文件的尾部。
Format参数可为下面设置值的任何值:
[b]常数[/b]
[b]值[/b]
[b]描述[/b]
[b]TristateUseDefault[/b]
2011年02月07日
1、创建文本文件的两种方法
①创建文本文件:使用VB语句创建文本文件
Sub VB创建文件()
Dim sfname As String, iFnumber As Integer, r As Long
sfname = ThisWorkbook.Path & "\" & "VB文件.txt"
iFnumber = FreeFile '获取可用文件叫号
Open sfname For Output As #iFnumber '用Output方式打开文件
Print #iFnumber, "数据行1" '向文件中写入数据
Close #iFnumber
End Sub
复制代码
②创建文本文件:使用FSO对象创建文本文件
使用此方法需要先将Scripting类型库加入工程中(即:Microsoft Scripting Runtime)
Sub FSO创建文件()
Dim fso As New filesystemobject '声明FSO对象新变量
Dim oStream As TextStream '声明oStream为文本流
Dim sfname As String
sfname = ThisWorkbook.Path & "\" & "FSO文件.txt"
Set oStream = fso.CreateTextFile(sfname, True) '创建文本流对象
oStream.WriteLine "数据行1" '向文本流对象写入数据
oStream.Close '关闭文本流对象
Set oStream = Nothing
Set fso = Nothing
End Sub
复制代码
知识点1:Write方法:将给定的字符串写入到一个TextStream文件中,不换行;WritLine方法:向TextStream文件写入给定的字符串和一个换行符;WriteBlankLines方法:将指定数量的换行符写入到一个Textstream文件中。
2、读取文本文件的两种方法
①使用VBA语句读取文本文件数据
②使用SFO对象读取文本文件数据
3、添加数据到文本文件
Sub 添加数据到文件()
Dim fso As New FileSystemObject
Dim ostream As TextStream
Dim sfname As String
sfname = ThisWorkbook.Path & "\" & "FSO文件.txt"
'打开文件为文本流对象
Set ostream = fso.OpenTextFile(Filename:=sfname, IOMode:=ForAppending, Create:=True, Format:=TristateTrue)
With ostream
For i = 2 To 10
.WriteLine "新增加数据第" & i & "行"
Next i
End With
End Sub
复制代码
知识点2:
[b]OpenTextFile 方法[/b]
打开一个指定的文件并返回一个 [b]TextStream[/b]对象,该对象可用于对文件进行读操作或追加操作。
[b]语法[/b]object.[b]OpenTextFile([/b]filename[[b],[/b]
iomode[[b],[/b]
create[[b],[/b]
format[b])[/b]
[b]OpenTextFile[/b]方法有如下几部分:
[b]部分[/b]
[b]描述[/b]
Object
必需的。始终是一个 [b]FileSystemObject[/b] 的名字。
filename
必需的。字符串表达式,它标识了打开的文件。
iomode
可选的。表示输入/输出方式。可为两个常数之一:[b]ForReading[/b]或[b]ForAppending[/b]。
create
可选的。[b]Boolean[/b]值,它表示如果指定的filename不存在是否可以创建一个新文件。如果创建新文件,其值为[b]True[/b]。若不创建文件其值为[b]False[/b]。缺省值为[b]False[/b]。
format
可选的。三种[b]Tristate[/b]值之一,用于指示打开文件的格式。如果省略,则文件以ASCII格式打开。
[b]设置值:[/b]iomode参数可为下面设置值的任何一个:
[b]常数[/b]
[b]值[/b]
[b]描述[/b]
[b]ForReading[/b]
1
打开一个只读文件。不能对此文件进行写操作。
[b]ForAppending[/b]
8
打开一个文件并写到文件的尾部。
Format参数可为下面设置值的任何值:
[b]常数[/b]
[b]值[/b]
[b]描述[/b]
[b]TristateUseDefault[/b]