C++中如何读取一个数的位数_VBA代码解决方案第136讲:如何操作随机文件

eb81cffff77c9a9ab411b15d9418d740.png

大家好,我们今日继续讲解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:nzwork文章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

代码的截图:

15fb9856d7cf8feee5ec9e0309337cac.png

过程分析:过程MyoutDictionary先声明变量,之后,打开一个随机访问文件"E:nzwork文章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

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

0f70b67dd374ef799a23d4266dbad482.png

e4b3fe13c30659634b2ab32d6574fe2b.png

输出的数据:

1ad9f08c99c53eb71038e91359a71027.png

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

今日内容回向:

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

2 随机文件如何的读取?

《VBA代码解决方案》终于可以和大家见面了,是我将一些非常实用的VBA内容结集成册,PDF文件,可以从中直接查找到你想要解决问题的思路和方法,可以复制文中的VBA代码直接使用。有需要的朋友微信联络我NZ9668。

b48a1bd113e6d72f9dc2cedb3a4e843c.png

1d7ef6b66617148b1127d07b67da3343.png

32d83c3d6e18a03926dbfcf3f9780283.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值