创建文本文件的两种方法


创建文本文件的两种方法
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:
   OpenTextFile 方法
  打开一个指定的文件并返回一个 TextStream对象,该对象可用于对文件进行读操作或追加操作。
   语法object. OpenTextFile(filename[ ,
  iomode[ ,
  create[ ,
  format )
   OpenTextFile方法有如下几部分:
   部分
   描述
  Object
  必需的。始终是一个 FileSystemObject 的名字。
  filename
  必需的。字符串表达式,它标识了打开的文件。
  iomode
  可选的。表示输入/输出方式。可为两个常数之一: ForReadingForAppending
  create
  可选的。 Boolean值,它表示如果指定的filename不存在是否可以创建一个新文件。如果创建新文件,其值为 True。若不创建文件其值为 False。缺省值为 False
  format
  可选的。三种 Tristate值之一,用于指示打开文件的格式。如果省略,则文件以ASCII格式打开。
   设置值:iomode参数可为下面设置值的任何一个:
   常数
  
   描述
   ForReading
  1
  打开一个只读文件。不能对此文件进行写操作。
   ForAppending
  8
  打开一个文件并写到文件的尾部。
  Format参数可为下面设置值的任何值:
   常数
  
   描述
   TristateUseDefault
  

猜你喜欢

转载自dx671dx.iteye.com/blog/1358991