VBA修改文本文件数据
我想请问一下,VBA里有没有办法能够实现对指定的文本文件里的数据进行修改。目前的做法是把所有数据读上来,进行相应修改后再全部写进入。这种效率太慢,能否实现对指定的行的数据...
我想请问一下,VBA里有没有办法能够实现对指定的文本文件里的数据进行修改。目前的做法是把所有数据读上来,进行相应修改后再全部写进入。这种效率太慢,能否实现对指定的行的数据进行修改替换就行?如果有代码如何实现。
展开
2个回答
展开全部
对于“文本文件”,基本上这是没办法的事。“文本文件”只能看作是一种“顺序文件”。
无论什么语言的代码来改写,都牵涉到“数据移动”的问题。
毕竟,绝大多数情况下,你的这种所谓的“修改”,被改变的部分,数据长度都是会有变化的。
无论是变长了,或者变短了,在它后面的数据全部都要进行“移动”,
这种情况下,任何方法改数据,都是得“重新写”后面的数据。
如果文件较大,必然费时。没有“快”的方法。
但是,如果长度没有变化(新内容跟原内容一样长),都可以从指定位置开始写入新数据。
这时,无论哪种语言的代码,都可以快速完成操作。
其实,楼主要想提高“速度”,应该考虑一种能够“随机读写”的存储结构来组织文件,
而不是用“文本文件”(当然不知道楼主的需求,是否可以这样处理)。
如果用可以“随机读写”的数据存储结构,这样就可以达到快速存取、快速修改的目的。
无论什么语言的代码来改写,都牵涉到“数据移动”的问题。
毕竟,绝大多数情况下,你的这种所谓的“修改”,被改变的部分,数据长度都是会有变化的。
无论是变长了,或者变短了,在它后面的数据全部都要进行“移动”,
这种情况下,任何方法改数据,都是得“重新写”后面的数据。
如果文件较大,必然费时。没有“快”的方法。
但是,如果长度没有变化(新内容跟原内容一样长),都可以从指定位置开始写入新数据。
这时,无论哪种语言的代码,都可以快速完成操作。
其实,楼主要想提高“速度”,应该考虑一种能够“随机读写”的存储结构来组织文件,
而不是用“文本文件”(当然不知道楼主的需求,是否可以这样处理)。
如果用可以“随机读写”的数据存储结构,这样就可以达到快速存取、快速修改的目的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询