VBA转换文件编码到UTF-8

'Excel中VBA转换文件编码到UTF-8
Private Sub ConvFile(InputFile As String, OutputFile As String)
 
    Dim ReadStream As Object
    Set ReadStream = CreateObject("ADODB.Stream")
    
    Dim FileContent As String
    
    With ReadStream
        .Type = 2               'adTypeText
        '.Charset = "UNICODE"
        .Charset = "GB2312"     ' ANSI
        '.Charset = "UTF-8"
        .Open
        .LoadFromFile InputFile
        FileContent = .ReadText
        .Close
        
    End With
    
    Set ReadStream = Nothing
    
    
    
    Dim WriteStream As Object
    Set WriteStream = CreateObject("ADODB.Stream")
       
    
    With WriteStream
        .Type = 2               'adTypeText
        .Charset = "UTF-8"
        .Open
        .WriteText FileContent
        .SaveToFile OutputFile, 2  'adSaveCreateOverWrite
        
        .Flush
        .Close
        
    End With
    
    Set WriteStream = Nothing
 
    
End Sub


'调用:
 Dim fileName As String
 fileName = ActiveWorkbook.Path & "\" & "test" & ".xml"
Call ConvFile(fileName, fileName)

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
'***************************************************************** '* 软件名称:GB/BIG5/UTF-8 文件编码批量转换程序 '* '* 版权信息:此软件由 阿勇(fxy_2002@163.com) 开发,请保留此信息!! '* 免费软件,欢迎使用!请勿用于直接出售或其它商业用途。 '* '* 作者主页:pc-soft.cn e-mail:fxy_2002@163.com '* '* 程序功能:将 GB、BIG5、UTF-8 文件相互转换,方便的批量处理能力, '* 主要用于网站文件编码方式的整体转换上。 '* '* 特别提醒:程序不保证文件绝对安全,使用前请备份! '* '* 开发环境:Visual Basic6.0(SP6) 简体中文、Windows XP(SP2) 简体中文 '* 在其它环境下未做测试,因此程序不一定能正常运行。 '* '* 已知缺陷:对于 BIG5 编码文件,若执行 UTF-8 转换,保存到 UTF-8 文 '* 件中的是伪编码,实际上是 GBK 繁体字的 UTF-8 编码,而非 BIG5。 '* 这么做的原因在于在简体 Windows 系统中,我还没有找到好的办法对 '* BIG5 进行 UTF-8 编码,只能对 GBK 进行 UTF-8 转换,使之看起来 '* 象一个繁体字文件。 '* '* 最后修改:2006/06/15 '* '***************************************************************** 使用说明: 软件使用VB6开发,如果在某些电脑上无法使用,多半是缺少运行库的原因。 碰到这种情况,请在互网上下载 MSVBVM60.DLL 文件到软件所在目录即可。这个 文件使用很普遍,许多地方可以下载。如果找不到,微软的网站一定存在! ---------------------------------------------------------------------- 开发背景: 某天,应老板的要求,需要将一个 GB 编码的 WEB 应用改变成 UTF-8 编码, 整个 WEB 程序涉及 300 多个 ASP 和 HTML 文件....于是乎,我上网搜索能将 GB 文件批量转换UTF-8 编码的软件。找来找去,多是一些仅能在网页中实时 编码的 VBS、JS 或 PHP 脚本,而没有进行大量文件编码转换的工具。 因为时间紧迫,后来只好使用最原始的办法,用 Windows 的记事本打开一个 个 ASP 文件,使用“另存为...”的方式变成 UTF-8 编码。真是郁闷....最后, 有了这个软件! --------------------------------------------------------------------- 版本历史: 1.3 -- 当前版本,批量查找时可以只查找包含指定文本内容的文件 1.21 -- 生成 UTF-8 时可选是否带BOM(标示自身编码方式和字节 序的特殊字串,BYTE ORDER MARK) 1.2 -- 添加在转换过程中进行文件内容添加、替换功能;该功能使本软件也 能作为一个文本替换软件使用。 1.1 -- 未公开发布,完成 GB、BIG、UTF-8 三种编码相互转换。 1.0 -- 未公开发布(自用),完成 GB 与 UTF-8 编码相互转换功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值