cad vba 打开文件对话框_VBA代码解决方案第127讲:VBA如何打开顺序文件以及如何用Line Input读取文件...

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:04   3110   0

1635db1430b6446c0df4b4c5bddc07ab.png

大家好,我们今日继续讲解VBA代码解决方案的第127讲内容:VBA如何打开和读取顺序文件。VBA在控制文件的时候,打开和读取是最基本的操作,今天开始及以后的几讲会讲解这方面相关的内容,今日讲解的是VBA如何打开和读取顺序文件。

一 什么是顺序文件,我们的电脑上有成百上千的参数文件,错误日志,HTML文件以及所有类型的无格式文本文件,这些都是顺序文件。

顺序文件的特点:① 新文本行的开始以两个专门的字符表示,一个carriage return (回车),另一个叫line feed(换行)。

②访问它里面的记录时必须按它的顺序进行,这意味着在你想访问第三个记录之前,你必须先访问第一个记录,接着是第二个记录。

二 如何打开顺序文件

要从一个文件读取数据,必须先使用Open语句打开该文件。

语法:Open pathname For mode [Access access][lock] As [#]filenumber [Len=reclength]

参数:

① Pathname是你要打开的文件名称,可以包括驱动器和文件夹名称

② Mode是个决定文件如何打开的关键字。顺序文件可以以下列模式之一来打开:Input, Output 或Append。使用Input读文件,Output写文件,将覆盖任何存在的文件,以及Append来写入文件,同时附加上任何已经存在的信息。

③ Access是决定决定文件读写的关键字,Access可以是:Shared(共享),Lock Read(锁定读),Lock Write(锁定写)或Lock Read Write(锁定读写)。

④ Lock决定了哪些文件的操作是允许其它过程进行的。例如,Read, Write 或者 Read Write。

⑤ Filenumber是从1到511的数字,该数字用来指向顺序操作中的文件。一个唯一的文件号码。

⑥ reclength明确顺序文件里总字符数,或者是随机文件里记录大小。

例; Open " E:nzwork文章人员表单.txt" For Input As #1

三 如何读取文件内容 在打开顺序文件后,你就可以使用Line Input #读取文件的内容。

语法: Line Input #filenumber, variableName

其中filenumber是用Open语句打开文件时使用的数字,variableName是个String或者Variant变量,用来储存读取的行。

注意点:

1此语句仅读取一个打开的顺序文件里的一行。并且储存在一变量里。

2 此语句一次读取顺序文件里的一行的概念:首个字符或者或者在新行的起始字符开始,直到遇到回车字符(Chr(13))或者回车-换行字符(Chr(13) & Chr(10))为止称之为一行。(Chr(13) & Chr(10))这些字符(回车,换行)在读取过程中返回的文本里是会忽略掉的。

下面我们看一个实例的而讲解:

Sub MynzReadMe()

Dim myrLine As String

Dim i As Integer ' line number

i = 1

Open "E:nzwork文章人员表单.txt" For Input As #1

Do While Not EOF(1)

Line Input #1, myrLine

MsgBox "Line " & i & ": " _

& Chr(13) & Chr(13) & myrLine

i = i + 1

Loop

MsgBox i & " lines ok"

Close #1

End Sub

代码截图:

a049023da5bf22d8aa7d25101a911751.png

代码讲解:过程MynzReadMe将文件E:nzwork文章人员表单.txt在模式Input里作为文件号码1打开。Do…While循环告诉VBA一直执行循环里面的语句,直到到达文件结尾。文件的结尾由函数EOF的结果决定。

Line Input # 语句将每行内容储存于变量myrLine里,然后,信息框显示行号和它的内容。

大家先看看E:nzwork文章人员表单.txt 的文件内容:可以看出此文件一共是10行。

f08fc5e68e41befe5659f2c4bd70291c.png

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

d934de7a485a458ba6436cf7f5b7ba76.png

4870b4949097f65b713bceb8b93ed826.png

一直到:

580ac02256d1bbcb7a3bb31c6a846978.png

今日内容回向:

1 什么是顺序文件?

2 顺序文件如何读取?

3 上面的截图最后的对话框为什么显示的是11行呢?(变量i在最后有个加1的动作)


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

a73a6159f34bcd8afb291dc15907752c.png

73514bbabb3b939c814da84985e2f580.png

14fd6300a2247492b70d58955cece62e.png
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP