龙空技术网

VBA代码如何利用Input函数从顺序文件中读取任意个字符及整个文件

VBA语言専攻 1240

前言:

目前我们对“代码读取文件”可能比较讲究,大家都想要剖析一些“代码读取文件”的相关知识。那么小编也在网上搜集了一些关于“代码读取文件””的相关资讯,希望兄弟们能喜欢,看官们快快来了解一下吧!

大家好,我们今日继续讲解VBA代码解决方案的第128讲内容:从顺序文件中读取自定义字符数和读取整个文件内容的方法。在上一讲中我们讲了按行读取顺序文件的方法,有时却不都是这种情况,例如让程序检查文件中某个特定的字符出现了多少个,这时你该怎么办呢?此时可以使用函数Input来返回特定的字符数,而不必读取整行。

Input的语法: Input(number, [#]filenumber)

参数

①number明确你要读取的字符数。

②filenumber是Open语句用来打开文件的同一个数字。

注意:Input函数返回所有读取的字符,包括逗号,回车,文件结束字符,引号和前导空格。

下面我们实例讲解一下Input函数的应用过程 ,我们要在人员表单中查出姓张的一共有多少人,代码如下:

Sub mynzColons()

Dim num As Integer

Dim zhang As String

num = 0

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

Do While Not EOF(1)

zhang = Input(1, #1)

If zhang = "张" Then

num = num + 1

End If

Loop

If num <> 0 Then

MsgBox "表单中姓张的共: " & num & "人!"

Else

MsgBox "没有姓张的人员."

End If

Close #1

End Sub

代码截图:

看看返回的结果:

反馈结果是2人。

注意点:Input函数允许你返回顺序文件中的任何字符。如果你使用VBA函数LOF作为Input函数的第一个参数时,你将能够快速地读取顺序文件里的内容,而不需要在整个文件上循环。备注:LOF函数返回一个文件上的字节数。每个字节对应了文本文件里的一个字符。下面我们看看下面的实例:

Sub mynzReadAll()

Dim myall

Open "E:\nz\work\文章\人员表单.txt " For Binary As #1

myall = Input(LOF(1), #1)

MsgBox myall

Close #1

End Sub

代码截图:

返回结果:

上文中讲解了返回的内容在对话框msgbox中体现,你还可以将其读取到一个文本框之中去,这项内容由于篇幅的限制,将在《VBA代码解决方案》中详细说明。

今日内容回向:

1 如何读取单个字符?

2 如何快速的提取整个顺序文件的内容?

标签: #代码读取文件