1、直接采用Open函数+Line input命令

Private Sub txt_read()Dim txt As StringOpen "D:\dzh.txt" For Input As #1 ''对文件做任何 I/O 操作之前都必须先打开文件。Open 语句分配一个缓冲区供文件进行 I/O 之用,'并决定缓冲区所使用的访问方式。'打开文件作为数据输入用,文件号为#1Do While Not EOF(1)Line Input #1, txt  '从已打开的顺序文件中读出一行并将它分配给 String 变量'Line Input # 语句一次只从文件中读出一个字符,直到遇到回车符 (Chr(13))'或回车–换行符 (Chr(13) + Chr(10)) 为止。回车–换行符将被跳过,而不会被附加到字符串上MsgBox txtLoopClose #1
End Sub

2、利用FileSystemObject对象(引用windows script host object model)

Sub TextStreamTest()'**如果引用“windows script host object model”,可以定义如下的数据类型,编程更方便!!!!*******Dim fs As FileSystemObject, f As File, ts As TextStream, s As String'打开一个只读文件,不能对此文件进行写操作/'打开一个用于写操作的文件。如果和此文件同名的文件已存在,则覆盖以前内容/'打开一个文件并写到文件的尾部Const ForReading = 1, ForWriting = 2, ForAppending = 8'使用系统缺省打开文件/以 Unicode 格式打开文件/以 ASCII 格式打开文件Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0'Dim fs, f, ts, sSet fs = CreateObject("Scripting.FileSystemObject")'FileSystemObject 对象提供对计算机文件系统的访问'下面FileSystemObject.CreateTextFile 返回一个 TextStream 对象,该对象是可读并可写的:On Error Resume Next  '如果文件存在,下个命令会出错!获得文件fs.CreateTextFile("test1.txt", False).WriteLine ("This is a test.") '创建一个文件,返回一个用于该文件读写的TextStream对象Set f = fs.GetFile("test1.txt")          '返回一个和指定路径中文件相对应的 File 对象'错误!f.WriteLine ("This is a test.")          '向创建的文本文件中写入一行文本,非TextStream对象,错误!!Set ts = f.OpenAsTextStream(ForAppending, TristateUseDefault) '打开一个指定的文件并返回一个 TextStream 对象'OpenAsTextStream 方法提供了和 FileSystemObject. 的 OpenTextFile 方法相同的功能/'此外,OpenAsTextStream 方法还可以用于对一个文件进行写操作。ts.Write "Hello World"ts.CloseSet ts = f.OpenAsTextStream(ForReading, TristateUseDefault)Do While Not ts.AtEndOfStreams = ts.ReadLineMsgBox sLoopts.Close
End Sub

附:自定义类模块——含多个文件处理函数

定义FileOperation类

Private objTS As TextStream  ' 定义TextStream对象Public Function OpenFile(strFileName As String, strMode As String)Dim objFSO As FileSystemObject ' 定义文件对象Set objFSO = New FileSystemObjectSet objTS = NothingIf strMode = "R" Then' 读取方式打开文件Set objTS = objFSO.OpenTextFile(strFileName, ForReading, True)End IfIf strMode = "W" Then' 写入方式打开文件Set objTS = objFSO.OpenTextFile(strFileName, ForWriting, True)End If
End FunctionPublic Function CloseFile()' 关闭文件objTS.Close
End FunctionPublic Function GetLine() As String' 按行读取文件数据GetLine = objTS.ReadLine
End FunctionPublic Property Get AtEndOfFile() As Boolean' 判断是否已到文件末尾AtEndOfFile = objTS.AtEndOfStream()
End PropertyPublic Function WriteLine(strData As String)' 向文件写入一条数据objTS.WriteLine (strData)
End FunctionPublic Function SkipLines(intLines As Integer)Dim i As Integer' 跳到指定数据行,如指定行超过总行数,则指定到末尾行' 一般结合文件末尾判断函数以及读取函数使用For i = 1 To intLinesIf objTS.AtEndOfStream ThenExit ForEnd IfobjTS.SkipLineNext i
End Function

测试

Sub Run()Dim objTXTFO As FileOperationSet objTXTFO = New FileOperationobjTXTFO.OpenFile "D:\dzh.txt", "R"Do While Not (objTXTFO.AtEndOfFile)MsgBox objTXTFO.GetLineLoopobjTXTFO.CloseFile
End Sub

VBA 读写文本文件的几种方法相关推荐

  1. php+数组存放文件名_php将数组存储为文本文件的三种方法

    本篇文章主要介绍php将数组存储为文本文件的三种方法,感兴趣的朋友参考下,希望对大家有所帮助. (1)利用serialize 将数组序列化存储为文本文件,调用时候再使用unserialize 还原&l ...

  2. vba 字符串换行的几种方法

    vba 字符串换行的几种方法 例子 Sub test()MsgBox "我是" & Chr(10) & "小米"' MsgBox "我 ...

  3. vba打开html文件,vba打开网页的四种方法

    内容提要:文章介绍在excel中vba打开网页的四种方法,分别使用API.SHELL函数.FollowHyperlink方法."InternetExplorer"对象来实现. Q: ...

  4. C#读写Excel的几种方法

    一.简述: 因为一些需要,需要使用excel读写,之前采用csv文件方式读写有些局限,而且,因为最近这台电脑的office组件右问题,这个方法用不了了.所以,得探索一下Excel新的读取方式,留个记录 ...

  5. python读取文本文件的三种方法

    参考链接 python读取文本文件的内容,有三种方法. read().readline().readlines() read() read()是最简单的一种方法,一次性读取文件的所有内容放在一个大字符 ...

  6. IFIX VBA实现延时的几种方法

    在程序流程中经常要延时一段时间后再继续往下执行,在VB中常用的有以下几种方法(因为Timer控件打乱了程序的流程所以一般不用它): 1.使用Windows API函数Sleep     新建一个工程, ...

  7. Android中读写文件的N种方法

    在android或者java中读写文件时,我们常常面临不知道该用哪种方法来实现,今天我们一起来总结一下N种读写文件的方法. 一.文件输入输出流读写文件 public void writeFileStr ...

  8. java中如何读写文件_JAVA: 读写文件的几种方法

    如果您使用java8,可以也参考这篇文章:JAVA: Java8流逐行读取文件 import java.io.BufferedReader; import java.io.BufferedWriter ...

  9. C语言读写文本文件的几种模式,读取文件的例子

    打开文件的函数原型 FILE *fopen( const char * filename, const char * mode ); 读.写文件的几种模式 模式 描述 r(read) 具有文件的读权限 ...

最新文章

  1. 【OpenCV 4开发详解】点集拟合
  2. 为什么excel图片会变成代码_莲藕为什么会变色?焯水就发黑,炖汤就变粉色,甚至会变成暗紫色...
  3. Linux 下的动态库、静态库与环境变量
  4. java项目使用过滤器实例_Java web开发--过滤器篇(详细介绍)
  5. 干货 | Python 标准库之 XML(上)
  6. 11月8日下午Jquery取属性值(复选框、下拉列表、单选按钮)、做全选按钮、JSON存储、去空格...
  7. Space Time Varying Color Palette
  8. linux运维平台工具,Linux运维自动化工具 Kickstart
  9. 信息学奥赛一本通(1181:整数奇偶排序)——快速排序
  10. python类为什么要初始化_python3类对象需要在init中初始化吗?
  11. 针对吞吐量优化的架构
  12. oracle 启动报错03113,oracle数据库无法启动,总报ora-03113错误
  13. 基因组测序中N50和N90到底指什么?
  14. 基于微信小程序的毕业设计题目(31)共享会议室预约小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
  15. 第八章 波形发生电路(自激振荡电路)
  16. 植物大战僵尸对战版(Android)
  17. Apache整合Tomcat详解系列(三)Apache性能调优
  18. CVPR 2023 | 白翔团队提出:将CLIP模型用于场景文本检测
  19. 管理系统类毕设(二)---学生管理系统说明
  20. 当今软件发展的现状非常适合 Cloud Native 环境

热门文章

  1. 互联网架构,究竟为什么需要配置中心?
  2. ETL(数据仓库技术)
  3. 数据可视化组件Grafana详细解读--在Docker上安装Grafana管理平台
  4. linux设备模型的主要功能,第 14 章 Linux 设备模型
  5. 隐马尔可夫(HMM)/感知机/条件随机场(CRF)----词性标注
  6. CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群
  7. 如何安装使用MinDoc搭建个人在线wiki文档
  8. HTML常用meta大全
  9. leetcode 整数反转
  10. 递归 遍历目录下的所有文件