No.1
vba编程中也有对非Excel文件进行操作的一些功能,特别是对文本文件的操作。
其中的函数和语句比较多,全面掌握也相对较难。
本着简单的操作方法,这里介绍一些文件的打开、读取、和写入操作方法。
本节介绍EOF函数,这是一个文件检测函数,其内容代码不得而知,知道它的功能拿来使用便可以。
功能十分简单,官方解释是"当到达一个已经打开的用于进行随机或顺序 Input 的文件的末尾时,将返回一个包含 Boolean 值 True 的 Integer。"
简单理解就是对一个打开的文件进行判断是否达到了文件尾部,如果已经达到尾部就返回一个真值TRUE。
判断的过程是,当对这个文件进行Input读取的过程中。
Input是一个语句,是对文件进行读取的语句,也就是读取这个文件内容的一个内置语句。
下图为EOF函数具体语法介绍:
No.2
使用本函数之前,要用到文件操作的另外一些语句。
如Open打开文件,Input # 读取文件等语句,本例中还应用了Output # 写入语句。
这些语句在本节不做详细介绍。
下图为EOF函数举例介绍:
在此例中,将写入四行数据,分别用Write # 语句实现。
第一行为字符"this is a book."
代码:Write #1,"this is a book."
第二行为空行
代码:Write #1,
第三行写入数据123
代码:Write #1,123
写操作之前要用语句:
Open "文件名" For OutPut As #1
打开文件。
具体代码可参考下图:
No.3
写文件操作只是初始化设置的一个过程,其实可以新建一个文件文件来进行预设。
EOF()函数重点应用在于读取文件操作(Input)过程。
读取文件用如下代码:
Open "1.txt" For Input As #1
表示以读取方式打开文本文件"1.txt",#1表示文件号,这个号是系统分配的。
判断读取文件是否已经到了文件结尾,如下代码:
Do While Not EOF(1)"如果不是文件结尾就执行下面语句Input #1, inputFile, myNumber "读取文件数据写入变量inputFileMsgBox inputFile, myNumber "输出变量内容Loop
Not EOF(1)表示不是文件结尾,同样数字1表示文件号。
Do While...Loop循环是个判断语句,意思是当While后面的条件为真时执行loop之前的代码。
如果条件为假就跳出Do While循环。
这里的意思就是说当不是文件结尾的时候就执行循环语句,如果到达文件结尾就跳出循环。
No.4
本以为EOF()是个十分简单的函数,但是在介绍之后才发现,涉及到的内容比较多。
如果单单介绍EOF()是很难理解其工作原理的,所以,这里多说了一些其它文件操作的相关语句。
如果对其它编程语言有一些了解的朋友,对于EOF()函数并不陌生,因为大多数编程语言都有这个函数功能。
如果深入来理解,还要对数据结构和文件结构有一定的了解,当然文件格式不同,其相关方面的内容也不相同。
本节,只要理解了对文件进行读取操作的时候,有一个函数可以判断是否已经读取到了文件的结尾处,就可以了。
欢迎关注、收藏。