当前位置: 代码网 > it编程>编程语言>其他编程 > VBA实现全文件快速替换的示例代码

VBA实现全文件快速替换的示例代码

2024年05月15日 其他编程 我要评论
大家对于vba处理文本文件并不陌生,open打开文件,line input逐行读取处理,然后再使用print写入到目标文件,整个过程并不复杂,但是如果源文件数据行数较多,那么逐行读取将花费较多的时间。

大家对于vba处理文本文件并不陌生,open打开文件,line input逐行读取处理,然后再使用print写入到目标文件,整个过程并不复杂,但是如果源文件数据行数较多,那么逐行读取将花费较多的时间。

sub demo()
    fn1 = freefile
    open outfile for output as fn1
    fn2 = freefile
    open infile for input as fn2
    do until eof(1)
        line input #1, textline
        '数据处理代码
        print fn2, textline
    loop
    close fn2
    close fn1
end sub

vba内置的打开文本文件的方法,并无法实现读取全部文件内容,借助filesystemobject可以实现一次性快速替换。

示例代码如下

sub replacetxt()
    strsrcfile = "c:\temp\test.txt"
    stroldtxt = "c:\111\"
    strnewtxt = "d:\333\"
    set fso = createobject("scripting.filesystemobject")
    set objread = fso.opentextfile(strsrcfile, 1)
    strin = objread.readall
    objread.close
    set objwrite = fso.createtextfile(strsrcfile)
    objwrite.writeline replace(strin, stroldtxt, strnewtxt)
    objwrite.close
    set fso = nothing
end sub

【代码解析】

  • 第2行代码指定源文件。
  • 第3行代码指定查找的字符串。
  • 第4行代码指定新字符串。
  • 第5行代码创建fso对象。
  • 第6行代码打开源文件。
  • 第7行调用readall方法读取全部文件内容,保存在变量strin中。
  • 第8行代码关闭源文件。
  • 第9行代码创建目标文件。
  • 第10行代码调用replace函数实现全文替换,并将结果写入目标文件中。
  • 第11行代码关闭目标文件。
  • 第12代码实现对象变量占用的系统资源。

到此这篇关于vba实现全文件快速替换的示例代码的文章就介绍到这了,更多相关vba文件替换内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com