前言:
当前你们对“vba 读入文本文件”大致比较关心,大家都想要剖析一些“vba 读入文本文件”的相关内容。那么小编也在网上汇集了一些关于“vba 读入文本文件””的相关资讯,希望兄弟们能喜欢,我们快快来了解一下吧!大家好,我们今日继续讲解VBA代码解决方案的第131讲内容:打开顺序文件三种模式:Input、Output、Append的区别.在《VBA代码解决方案》第127讲中,我讲过打开顺序文件的Open语句的语法如下:Open pathname For mode [Access access][lock] As [#]filenumber [Len=reclength]
对于其中第二个参数Mode是这样描述的:
"Mode是个决定文件如何打开的关键字。顺序文件可以以下列模式之一来打开:Input, Output 或Append。使用Input读文件,Output写文件,将覆盖任何存在的文件,以及Append来写入文件,同时附加上任何已经存在的信息。"
在上述的讲解中提及三个关键字Input、Output、Append。其中input是读取文件,而Output和Append是可以用来来写入文件的,那么Output和Append又有哪些不同呢?我们来看下面的分析和讲解(备注:现在讲的内容是《VBA代码解决方案》的第三册内容,在理论基础上需要读者有所提高)
当我们要往一个顺序文件里写入数据时,应该以Append或者Output模式打开该文件。这两种模式的区别解释如下:
① Append允许在一个现存文件的结尾处添加数据。例如,如果你以Append模式打开" E:\nz\work\文章\人员表单.txt"文件,并且将文本"此文件的人员为现有人员"加到该文件中,VBA不会删除或者以任何方式改变该文件中已经存在的文本,只是会在文件的结尾处加上面新的文本。
② Output 当你以此种模式打开一个文件时,VBA会将文件里的现存的数据删除,如果该文件并不存在的话,就会创建一个全新的文件。例如,如果你以Output模式打开文件" E:\nz\work\文章\人员表单.txt",并且试图往里面写数据的话,那么以前储存在该文件里的文本就会被删除掉。如果你在写入数据之前没有备份该文件的话,这种操作的失误代价将会是非常大的。但如果你确实是想要用新数据取代整个原来整个内容的话,确实应该以Output模式打开该已存在的文件。但这种操作最好能实现备份好原数据。如下面的两种实例:
实例1:要在一个"E:\nz\work\文章\人员表新表单.txt"的全新文件里输入一些文本,那么以Output模式打开该文件:Open "E:\nz\work\文章\人员表新表单.txt" For Output As #1
看下面的代码:
运行后:
上面的截图中新的文件"人员表新表单.txt"产生了,但这只是一个空的文件。
实例2: 要取代现存文件"E:\nz\work\文章\人员表单.txt"的内容,首先将原始文件备份一份,然后将原始文件以Output 模式打开:
FileCopy "E:\nz\work\文章\人员表单.txt","E:\nz\work\文章\人员表单备份.txt"
Open "E:\nz\work\文章\人员表单.txt" For Output As #1
代码截图:
运行后的截图:
此时备份文件是有数据的,而新的文件是空的文件。
注意点:顺序文件必须分别打开来执行读和写的操作,不可以同时执行这些操作。例如,在一个文件已经打开并且写入数据后,该文件必须先关闭,之后才能再打开来读取数据。
今日内容回向:
1: 顺序文件有几种打开的方式?有什么不同?
2: 对于output打开方式要注意的有什么?
标签: #vba 读入文本文件