Excel 中 VBA 常用的操作文本文件的方法

本文介绍了三种使用VBA进行文本文件操作的方法:一是通过Scripting.FileSystemObject对象进行文件的读写;二是采用Basic语言标准方法实现文件的写入;三是利用流对象(Stream)进行文件读写,并支持设置字符编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、调用脚本对象

Sub WriteTxt1()
      Set fs = CreateObject("Scripting.FileSystemObject")
      Set f = fs.CreateTextFile("path\filename", True)
      f.WriteLine ("Text Message.")
      f.writeline(cells(row,col).value)
      f.Close
End Sub

其中,OpenTextFile的用法是:

  打开指定的文件并返回一个 TextStream 对象,可以通过这个对象对文件进行读、写或追加。
  object.OpenTextFile(filename[, iomode[, create[, format]]])
  参数
  object
  必选项。 object 应为 FileSystemObject 的名称。
  filename
  必选项。 指明要打开文件的字符串表达式。
  iomode
  可选项。 可以是三个常数之一: ForReading 、 ForWriting 或 ForAppending 。
  create
  可选项。 Boolean 值,指明当指定的 filename 不存在时是否创建新文件。 如果创建新文件则值为 True ,如果不创建则为 False 。 如果忽略,则不创建新文件。
  format
  可选项。 使用三态值中的一个来指明打开文件的格式。 如果忽略,那么文件将以 ASCII 格式打开。
  设置
  iomode 参数可以是下列设置中的任一种:

 常数  值 描述
 ForReading 1 以只读方式打开文件。 不能写这个文件。
 ForWriting 2 以写方式打开文件
 ForAppending 8 打开文件并从文件末尾开始写。

  format 参数可以是下列设置中的任一种:

值  
描述
TristateTrue
以 Unicode 格式打开文件
TristateFalse 
以 ASCII 格式打开文件
TristateUseDefault
使用系统默认值打开文件

 

2、Basic语言的标准方法

Sub WriteTxt2()
      Open "path\filename" For Output As #1
      Write #1, "message1", "message2"
      Write #1, cells(row,col).value
      Close #1
End Sub

 

3、使用流(stream),这个方法可以方便地设置Encoding等

Sub WriteToTextFile(FileName, ByVal Text, CharSet)
 Dim stream As Object
 Set stream = CreateObject("adodb.stream")
 stream.Type = 2
 stream.Mode = 3
 sstream.CharSet = CharSet
 stream.Open
 stream.WriteText Str
 stream.SaveToFile FileName, 2
 stream.flush
 stream.Close
 Set stream = Nothing
End Sub
如果是读文件则使用

LoadFromFile和ReadText

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值