VBA 向文件写入编码为UTF-8的数据

来源:互联网 发布:新浪黄金数据接口api 编辑:程序博客网 时间:2024/04/28 13:07
Sub Test()
        
 '需要引入  ActiveX Data Objects(ADO)组件
 '       即 Microsoft ActiveX Data Objects 2.5 Library 或者 Microsoft ActiveX Data Objects 2.6 Library
       
    Dim fileSaveName As String
        
    '创建文件并返回文件路径和名字
    fileSaveName = Application.GetSaveAsFilename(fileName, fileFilter:="信息文件(*.txt), *.txt")
   '创建写入数据的流
        Set outStream = CreateObject("ADODB.Stream")
            outStream.Open
            outStream.Charset = "utf-8"
            outStream.Type = adTypeText
        Set binStream = CreateObject("ADODB.Stream")
            binStream.Open
            binStream.Type = adTypeBinary
' 开始写入数据            
        outStream.WriteText ("************************************" & vbCrLf)                       
        outStream.WriteText ( Sheet1.Cells(5, 3) & vbCrLf)   ' & vbCrLf 为换行符
        outStream.WriteText ( Sheet1.Cells(5, 2) & vbCrLf)               
     
' ##  outStream.SaveToFile fileSaveName, 2    '如果直接保存文件写入的内容编码为“UTF-8+”而不是“UTF-8”

     outStream.Position = 3
     outStream.CopyTo binStream
     binStream.SaveToFile fileSaveName, 2     '需要将内容偏移两位去掉“UTF-8+”的bom,fileSaveName为写入数据的文件路径和名字
     binStream.Close
     outStream.Close
  
End Sub
阅读全文
1 0
原创粉丝点击