网站首页 > 技术教程 正文
大家好,我们今日继续讲解VBA代码解决方案的第76讲内容:如何导入文本文件。我们在日常的工作中经常会需要从其他的文件中把一些文本拷贝到EXCEL中,往往会由于格式的问题要很长时间才可以完成,这里我讲解一下利用VBA导入文本文件的办法。可以明显提高自己的工作效率,当然下面的代码不是万能的,可以根据自己的实际情况来修改编写。
如果需要从文本文件中导入数据,可以使用OpenTextFile方法,应用于FileSystemObject对象的OpenTextFile方法打开一个指定的文件并返回一个TextStream对象,该对象可用于对文件进行读操作或追加操作,语法如下:
object.OpenTextFile(filename[, iomode[, create[, format]]])
a) object是必须的,FileSystemObject对象的名字。
b) filename是必须的,需要打开的文件名称。
c) iomode是可选的,表示输入/输出方式,设置值如下所示:
① ForReading1打开一个只读文件,不能对此文件进行写操作。
② ForAppending8打开一个文件并写到文件的尾部。
d) create是可选的,它表示如果指定的参数filename不存在是否可以创建一个新文件。如果创建新文件,其值为True。若不创建文件其值为False。缺省值为False。
e) format是可选的,打开文件的格式,设置值下所示。
① TristateUseDefault-2使用系统缺省打开文件
② TristateTrue-1以 Unicode 格式打开文件
③ TristateFalse0以 ASCII 格式打开文件
下面我们看一个实例的操作,如下面的代码所示。
Sub MyOpenText()
Dim MyFile As Object
Dim mArr() As String
Dim j As Integer, i As Integer
j = 1
Sheet1.UsedRange.ClearContents
Set MyFile = CreateObject("Scripting.FileSystemObject") _
.OpenTextFile(ThisWorkbook.Path & "\" & "人员表.txt")
Do While Not MyFile.AtEndOfStream
mArr = Split(MyFile.ReadLine, ",")
For i = 0 To UBound(mArr)
Sheets("Sheet8").Cells(j, i + 1) = mArr(i)
Next
j = j + 1
Loop
MyFile.Close
Set MyFile = Nothing
End Sub
代码解析:
OpenText过程使用OpenTextFile方法打开示例文件所在文件夹中的"人员表.txt"文件并将数据导入到工作表中。
第7、8行代码使用OpenTextFile方法打开文本文件。
第9行代码开始对文本文件进行读操作。应用于TextStream对象的AtEndOfStream属性指示文件指针是否位于TextStream文件中的结尾,如果是返回True,否则返回False。
第10行代码使用Split函数将逐行读取的字符串以逗号进行分隔后赋给数组mArr。应用于TextStream对象的ReadLine方法从一个TextStream文件读取一整行(到换行符但不包括换行符)并返回得到的字符串,语法如下:object.ReadLine。其中object是必须的,TextStream是对象的名字。
第11行到第14行代码将数组元素写入到工作表的单元格。
第15行代码重新读取下一行数据。
第16行使用Close方法关闭打开的文本文件。
运行OpenText过程将"人员表.txt"文件的数据导入到工作表中。
代码截图:
需要导入的文件:
运行后:
今日内容回向:
1 如何向一个EXCEL中导入文件?
2 object.OpenTextFile的意义是什么?
猜你喜欢
- 2024-10-25 Java 17 NIO 知识点 Files 操作(java17课)
- 2024-10-25 PE格式:新建节并插入代码(怎么用pe创建新用户)
- 2024-10-25 入门Java不迷路!一篇教你搞懂Java 「File类」的概述和方法
- 2024-10-25 Qt 之QTemporaryFile用法(创建临时文件)
- 2024-10-25 EndNote使用技巧(4)之七种方法导入文献?一文全搞定
- 2024-10-25 Vue+Element UI实现断点续传、分片上传、秒传
- 2024-10-25 (12)文本文件操作参考(文本的基本操作)
- 2024-10-25 使用StreamWriter类的对文件创建写入
- 2024-10-25 大文件上传:秒传、断点续传、分片上传
- 2024-10-25 如何写出优雅的 JS 代码:变量和函数的正确写法
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)