標題:
[發問]
求EXCEL 轉 CSV 檔案(UTF-8格式)
[打印本頁]
作者:
PKKO
時間:
2016-9-27 16:38
標題:
求EXCEL 轉 CSV 檔案(UTF-8格式)
本帖最後由 PKKO 於 2016-9-27 16:40 編輯
有時需要這種資料,手動會很擾人
我錄製了巨集
將EXCEL轉為CSV檔案+UFT-8格式
但實際上卻不是UFT-8
有大大願意分享一下如何可以辦到嗎?
以下是小弟錯誤的CODE
With ActiveWorkbook.WebOptions
.RelyOnCSS = True
.OrganizeInFolder = True
.UseLongFileNames = True
.DownloadComponents = False
.RelyOnVML = False
.AllowPNG = True
.ScreenSize = msoScreenSize1024x768
.PixelsPerInch = 96
.Encoding = msoEncodingUTF8
End With
With Application.DefaultWebOptions
.SaveHiddenData = True
.LoadPictures = True
.UpdateLinksOnSave = True
.CheckIfOfficeIsHTMLEditor = True
.AlwaysSaveInDefaultEncoding = False
.SaveNewWebPagesAsWebArchives = True
End With
ActiveWorkbook.SaveAs Filename:="C:\Users\user\Documents\test2.csv", _
FileFormat:=xlCSV, CreateBackup:=False
複製代碼
也有上網查過,下面這個也不是UTF-8的樣子
Sub saveUnicodeCSV()
Set oAdoS = CreateObject("ADODB.Stream")
oAdoS.Charset = "UTF-8"
oAdoS.Mode = 3
oAdoS.Type = 2
oAdoS.Open
lRow = 1
lCol = 1
Do Until Sheets(1).Cells(lRow, lCol).Value = ""
oAdoS.WriteText (Sheets(1).Cells(lRow, lCol).Text)
lCol = lCol + 1
Do Until Sheets(1).Cells(lRow, lCol).Value = ""
oAdoS.WriteText ("|" & Sheets(1).Cells(lRow, lCol).Text)
lCol = lCol + 1
Loop
oAdoS.WriteText (vbCrLf)
lCol = 1
lRow = lRow + 1
Loop
oAdoS.SaveToFile "test.csv", 2
oAdoS.Close
Set oAdoS = Nothing
End Sub
複製代碼
作者:
PKKO
時間:
2016-9-27 19:05
更正,以下方式可以成功轉為UTF8+CSV
Sub saveUnicodeCSV()
Set oAdoS = CreateObject("ADODB.Stream")
oAdoS.Charset = "UTF-8"
oAdoS.Mode = 3
oAdoS.Type = 2
oAdoS.Open
lRow = 1
lCol = 1
Do Until Sheets(1).Cells(lRow, lCol).Value = ""
oAdoS.WriteText (Sheets(1).Cells(lRow, lCol).Text)
lCol = lCol + 1
Do Until Sheets(1).Cells(lRow, lCol).Value = ""
oAdoS.WriteText ("," & Sheets(1).Cells(lRow, lCol).Text)
lCol = lCol + 1
Loop
oAdoS.WriteText (vbCrLf)
lCol = 1
lRow = lRow + 1
Loop
oAdoS.SaveToFile "c:\test.csv", 2
oAdoS.Close
Set oAdoS = Nothing
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)