繁体   English   中英

使用VBA将Excel(XLS)转换为使用UTF-8的CSV

[英]Convert Excel (XLS) to CSV with UTF-8 using VBA

我正在尝试使用UTF-8将excel转换为csv。 但在转换时,内容正在变为不需要的符号和文本。

请帮我解决这个问题。

Public Sub convert_UnicodeToUTF8()

   Dim parF1, parF2 As String

   parF1 = "D:\test.xlsx"

   parF2 = "D:\test.csv"

    Const adSaveCreateOverWrite = 2
    Const adTypeText = 2

    Dim streamSrc, streamDst ' Source / Destination
    Set streamSrc = CreateObject("ADODB.Stream")
    Set streamDst = CreateObject("ADODB.Stream")
    streamDst.Type = adTypeText
    streamDst.Charset = "utf-8"
    streamDst.Open

    With streamSrc
        .Type = adTypeText
        .Charset = "Unicode" ' this is also the default value
        .Open
        .LoadFromFile parF1
        .copyTo streamDst
        .Close
    End With
    streamDst.saveToFile parF2, adSaveCreateOverWrite
    streamDst.Close
    Set streamSrc = Nothing
    Set streamDst = Nothing

End Sub

谢谢。

如果这不起作用?

ActiveWorkbook.WebOptions.Encoding = msoEncodingUTF8
ActiveWorkbook.SaveAs Filename:="C:\Book1.csv", FileFormat:=xlCSV

尝试这个

ActiveWorkbook.SaveAs Filename:="C:\Book1.csv", FileFormat:=xlCSVUTF8

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM