您的位置:首页 >科技 >

Input Output和Appendde的区别

大家好,我们今日继续讲解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打开方式要注意的有什么?

关键词: Append

  • 第二个路由器是设置静态还是动态? 第二个路由器是设置静态还是动态?答:静态或动态都可以。设置第二个路由器上网的时候,第二个路由器的上网方式可以设置成动态IP上网,也可
  • Win11面部识别设置不了怎么办? Win11面部识别不能用怎么办?目前win11系统中部分机型可以支持用户设置面部识别功能,但并非所有设备都兼容该功能,那么Win11面部识别设置不
  • win11怎么关闭触控板? Win11怎么关闭触控板?很多喜欢用笔记本的用户相信自己对笔记本中的触控板已经很熟悉了。可以代替鼠标使用,但是有时候我们的触摸板在连接鼠
  • win11系统卡在暗模式怎么办? 大多数 Windows 用户发现在操作 Windows 系统时使用暗模式主题很舒服。碰巧的是,在使用了几天后,他们可能会在白天使用系统时想将其更
  • 火绒安全如何开启GPU加速? 火绒安全如何开启GPU加速呢?今日为你们带来的文章是火绒安全开启GPU加速的方法,还有不清楚小伙伴和小编一起去学习一下吧。火绒安全开启GPU
  • 骁龙和天玑处理器哪个好 目前大部分智能手机的处理器,用的都是骁龙处理器和天玑处理器。处理器决定了手机的性能和功耗,处理器配置越好的话,使用的流畅度和体验感
  • GPU-Z怎么查看显存频率? GPU-Z怎么查看显存频率呢?今天小编就来讲解GPU-Z查看显存频率的方法,感兴趣的快跟小编一起来看看吧,希望能够帮助到大家。GPU-Z查看显存频
  • 大眼橙NEW X7D怎么样? 家用电视的热度为什么居高不下呢?因为随着人们娱乐方式的丰富,对娱乐设备的要求也越来越高了,很多人开始不满足于用电脑电视追剧看电影,
  • 黑爵K690T PRO怎么样? 在打游戏的时候键盘操作要快捷灵敏,除了手速外键盘性能也很重要,一起来看看这款黑爵K690T PRO机械键盘怎么样吧~黑爵K690T PRO的包装十
  • 支付宝中亲密付和亲情卡有什么不同? 在支付宝上有很多有关亲情支付的卡片,可以为家人们提供各类消费额度,那亲密付和亲情卡的区别有哪些?亲密付和亲情卡的区别亲密付和亲情卡