打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
共享数据资源,VBA代码导入已有文本数据文件的方法

大家好,我们今日继续讲解VBA代码解决方案的第76讲内容:如何导入文本文件。我们在日常的工作中经常会需要从其他的文件中把一些文本拷贝到EXCEL中,往往会由于格式的问题要很长时间才可以完成,这里我讲解一下利用VBA导入文本文件的办法。可以明显提高自己的工作效率,当然下面的代码不是万能的,可以根据自己的实际情况来修改编写。

如果需要从文本文件中导入数据,可以使用OpenTextFile方法,应用于FileSystemObject对象的OpenTextFile方法打开一个指定的文件并返回一个TextStream对象,该对象可用于对文件进行读操作或追加操作,语法如下:

object.OpenTextFile(filename[, iomode[, create[, format]]])

a) object是必须的,FileSystemObject对象的名字。

b) filename是必须的,需要打开的文件名称。

c) iomode是可选的,表示输入/输出方式,设置值如下所示:

① ForReading 1 打开一个只读文件,不能对此文件进行写操作。

② ForAppending 8 打开一个文件并写到文件的尾部。

d) create是可选的,它表示如果指定的参数filename不存在是否可以创建一个新文件。如果创建新文件,其值为True。若不创建文件其值为False。缺省值为False。

e) format是可选的,打开文件的格式,设置值下所示。

① TristateUseDefault -2 使用系统缺省打开文件

② TristateTrue -1 以 Unicode 格式打开文件

③ TristateFalse 0 以 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的意义是什么?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel VBA 将数据导出为文档文件,操作太繁琐,仅需鼠标双击即可
ASP 如何读写一个文本文件
VBScript:处理文件(创建、写入、读取、删除)
VBA中的FileSystemObject对象(FSO)和文本流
本文将简要介绍一下如何同时打开多个文本文件并对其写入数据
《Visual Basic 6.0项目教程(第3版)》项目7 访问与管理文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服