我使用Macro将csv转换为Excel时将日文字符作为Junk

时间:2018-02-16 07:51:18

标签: excel vba excel-vba

我是Macro脚本的新手, 我正在尝试将Csv文件转换为excel,其中包含japnese字符。 转换后excel没有保持正确的格式。 你能不能告诉我如何在从csv转换为excel的同时将excel编码为UTF-8。

下面是我的宏代码。

Sub Csv2Excel()
Dim wb As Workbook
Dim strFile As String, strDir As String

strDir = "D:\DH\testFile\EQT_OFFER_DATA_0000567\"
strFile = Dir(strDir & "EQT_OFFER_DATA_0000567.csv")

    Set wb = Workbooks.Open(strDir & strFile)
    ActiveWorkbook.WebOptions.Encoding = msoEncodingUTF8
    With wb
        .SaveAs Replace(wb.FullName, ".csv", ".xlsx"), 51 'UPDATE:
        .Close True
    End With
    Set wb = Nothing
End Sub

Csv文件内容
xxxxxxx","1298153","xxxxxx","本多 周二","大阪府 富田林市 梅の里 1丁目 18ー5","Individual

退出Excel
xxxxxxx 1298153 xxxxxx 本多 周二 大阪府 富田林市 梅ã®é‡Œ 1ä¸ç›® 18ï½°5 Individual

请指导我。

1 个答案:

答案 0 :(得分:1)

要打开Unicode文件,请尝试使用OpenText方法而不是Open:

Workbooks.OpenText filename:=strDir & strFile, origin:=65001, DataType:=xlDelimited, textqualifier:=xlTextQualifierDoubleQuote, comma:=True

有关代码页编号的完整列表(origin参数),请参阅此页:https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx