码迷,mamicode.com
首页 > 其他好文 > 详细

VBA 将 ANSI 转换为 UTF-8文件

时间:2014-06-17 15:31:55      阅读:760      评论:0      收藏:0      [点我收藏+]

标签:class   ext   get   使用   文件   string   

在使用的时候,先用WriteOut生成一个临时文件(UTF-8带BOM),
然后用Convert2utf8将BOM头的前三个字节删除。

----------------------------------------------------------

Private Sub WriteOut(strPath As String, str As String) 
    Dim objStream As Object
    Set objStream = CreateObject("ADODB.Stream") 
    With objStream
        .Type = 2               ‘adTypeText
        .Charset = "UTF-8"
        .Open
        .WriteText str
        .SaveToFile strPath, 2  ‘adSaveCreateOverWrite
    End With 
    Set objStream = Nothing
End Sub


Public Function Convert2utf8(fileName As String, FileTo As String) As Boolean
 
    Dim ReadIntFileNum, WriteIntFileNum As Integer
    ReadIntFileNum = FreeFile() ‘获取一个空文件
    WriteIntFileNum = FreeFile() + 1
     
    Open fileName For Binary As ReadIntFileNum
    Open FileTo For Binary As #WriteIntFileNum
‘    Dim byteFrom, byteTo As String
    Dim fileByte As Long
    Seek #ReadIntFileNum, 4
   
    While Not EOF(ReadIntFileNum)
    
        Get #ReadIntFileNum, , fileByte
        Put #WriteIntFileNum, , fileByte
    Wend
    
    Close #ReadIntFileNum
    Close #WriteIntFileNum
    Kill fileName
End Function

VBA 将 ANSI 转换为 UTF-8文件,布布扣,bubuko.com

VBA 将 ANSI 转换为 UTF-8文件

标签:class   ext   get   使用   文件   string   

原文地址:http://www.cnblogs.com/zhengmy/p/3792470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!