网站首页 > 教程文章 正文
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 '读取文件数据写入变量inputFile
MsgBox inputFile, myNumber '输出变量内容
Loop
Not EOF(1)表示不是文件结尾,同样数字1表示文件号。
Do While...Loop循环是个判断语句,意思是当While后面的条件为真时执行loop之前的代码。
如果条件为假就跳出Do While循环。
这里的意思就是说当不是文件结尾的时候就执行循环语句,如果到达文件结尾就跳出循环。
No.4
本以为EOF()是个十分简单的函数,但是在介绍之后才发现,涉及到的内容比较多。
如果单单介绍EOF()是很难理解其工作原理的,所以,这里多说了一些其它文件操作的相关语句。
如果对其它编程语言有一些了解的朋友,对于EOF()函数并不陌生,因为大多数编程语言都有这个函数功能。
如果深入来理解,还要对数据结构和文件结构有一定的了解,当然文件格式不同,其相关方面的内容也不相同。
本节,只要理解了对文件进行读取操作的时候,有一个函数可以判断是否已经读取到了文件的结尾处,就可以了。
欢迎关注、收藏。
- 上一篇: 无需付费:何处申请免费的通配符(泛域名)SSL证书?
- 下一篇: 「蓝屏篇」电脑蓝屏代码解释及解决办法
猜你喜欢
- 2025-01-15 《报告老板!》番外收官 片尾悬念引遐想
- 2025-01-15 《正常人》,可能是一部未来经典
- 2025-01-15 你知道电脑蓝屏代码含义吗?
- 2025-01-15 相关函数介绍(1)
- 2025-01-15 PPT尾页只有“谢谢”两字?太low了,这样设计,领导想不鼓掌都难
- 2025-01-15 「建议收藏」Windows电脑蓝屏代码大全
- 2025-01-15 Win10蓝屏代码大全都代表什么错误原因?
- 2025-01-15 「蓝屏篇」电脑蓝屏代码解释及解决办法
- 05-11阿里开源MySQL中间件Canal快速入门
- 05-11MyBatis插件开发实战:手写一个分页插件
- 05-11Flask数据库——SQLAlchemy
- 05-11MySQL 到 Hazelcast Cloud 实时数据同步实操分享
- 05-11sqlmap 详解
- 05-11一篇文章让你学会Elasticsearch中的查询
- 05-11Mysql性能优化这5点你知道吗?简单却容易被初学者忽略!
- 05-11Spring Boot 实现 MySQL 读写分离技术
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)