VBA代码如何对随机文件进行读取,并输出一个准数据库文件的记录-sub文件

大家好,我们今日继续讲解VBA代码解决方案的第136讲内容:如何操作随机文件。在上一讲中,我讲了建立一个准数据库文件的方法,今日我们就来讲操作这个数据库。我们还是利用上一讲已经建立的文件,来完成我们的输出过程。下面的过程中首先要以随机的方式打开文件,然后确认文件的大小,已经存在的记录数,最后把文件的内容输出;

Option Explicit

Type MyDictionary

myen As String * 10

mysp As String * 20

End Type

Sub MyoutDictionary ()

Dim d As MyDictionary

Dim i As Integer

Dim recNr As Long

Dim records As String

Open "E:\nz\work\文章\MytypeDictionary.txt" For Random As #1 Len = Len(d) '打开随机访问文件

MsgBox "There are " & LOF(1) & " bytes in this file." ' 提示本文件的总字节数

recNr = LOF(1) / Len(d) '显示总记录数

MsgBox "Total number of records: " & recNr

For i = 1 To recNr

Seek #1, i ' 找到该随机记录

Get #1, i, d ' 读取记录

Sheets("sheet8").Cells(i, 1) = d.myen

Sheets("sheet8").Cells(i, 2) = d.mysp

Next

Close #1 ' 关闭文件

msgbox("OK!")

End Sub

代码的截图:

VBA代码如何对随机文件进行读取,并输出一个准数据库文件的记录

过程分析:过程MyoutDictionary先声明变量,之后,打开一个随机访问文件"E:\nz\work\文章\MytypeDictionary.txt",并且告诉VB每个记录的长度Len = Len(d),接下来,在弹出的窗口里显示文件的总字节数和总记录数。字节数是由语句LOF(1)返回的。记录数是总字节数(LOF)除以一个记录的长度Len(d)。接下来,VBA执行循环里的语句,指令Seek #1, i.在开启的文件中移动光标到变量i记录处,读取记录内容。要在打开的随机访问文件中读取数据,你必须使用Get语句。

指令:Get #1, i, d

告诉VBA要读取的记录号码I,以及要读取数据的变量d。随机文件中的第一个记录在位置1,第二个记录在位置2,依次类推。然后,用户定义的类型字典的两个成员都被输出了出来。输出的位置:

Sheets("sheet8").Cells(i, 1) = d.myen

Sheets("sheet8").Cells(i, 2) = d.mysp

下面我们看程序的运行结果:

VBA代码如何对随机文件进行读取,并输出一个准数据库文件的记录

VBA代码如何对随机文件进行读取,并输出一个准数据库文件的记录

输出的数据:

VBA代码如何对随机文件进行读取,并输出一个准数据库文件的记录

好了,到此随机文件的讲解到此告一段落,二进制的文件由于应用的不是很广泛,本套教材就不再单独的讲解了。

今日内容回向:

1 如何打开一个随机文件?

2 随机文件如何的读取?

推荐阅读