我一直在掙扎了一段時間與Excel中的疑難問題有俄文字符在我的Excel文件(2003年版),我想將其保存到一個csv.But問題是,每當我這樣做,而不是俄語字符我的變得??????。經過各種論壇後,我發現問題在於MS Excel。如何使用UTF-8編碼將excel文件保存爲csv?
所以現在我在想,如果我可以寫VB腳本這將讀取所需要的細胞中的琴絃,他們變相爲UTF-8編碼並將其存儲在一個文本文件中。我在這裏有兩個問題:
我的解決方案是否可行?我不知道它是否可以完成?任何指針都會幫助完整。我通過網絡拖網,找不到任何東西。
,就像我跟VB腳本完全爲零,可一些身體幫我一個示例代碼嗎?
最重要的是,如果有人知道更好的方法,請讓我知道。
感謝 斯潘基
我已經經歷了薩爾曼的代碼了,並試圖在我的Excel文件(嵌入了)。我正在面對一些probs,並在網絡搜索後對其進行了一些修改。修改後的代碼如下:
Sub test()
'Modified lines
Dim CONNECTION1 As New ADODB.Connection
Set CONNECTION1 = New ADODB.Connection
'Set CONNECTION1 = WScript.CreateObject("ADODB.CONNECTION")
'Modified line
CONNECTION1.Open "Provider=MICROSOFT.JET.OLEDB.4.0;Data Source=c:\Documents and Settings\bht1kor \Desktop \test.xls;Extended Properties=""Excel 8.0;HDR=Yes;"""
Dim RECORDSET1 As New ADODB.Connection
Set RECORDSET1 = New ADODB.Connection
'commented the line
'WScript.CreateObject ("ADODB.RECORDSET")
RECORDSET1.Open CONNECTION1 ', 3, 1
Set rs1 = RECORDSET1.Execute("SELECT * FROM [Sheet1$]")
' Notes:
' CharacterSet 65001 is UTF-8
' add/remove columns and change datatype to match you excel file
Dim CONNECTION2 As New ADODB.Connection
Set CONNECTION2 = New ADODB.Connection
'commented the line
'Set CONNECTION2 = WScript.CreateObject("ADODB.CONNECTION")
CONNECTION2.Open "Provider=MICROSOFT.JET.OLEDB.4.0;Data Source=c:\Documents and Settings\bht1kor\Desktop\;Extended Properties=""text;HDR=Yes;FMT=Delimited;CharacterSet=65001;"""
CONNECTION2.Execute "CREATE TABLE [output.csv] ([English] VARCHAR(200), [Swedish] VARCHAR(200), [Russian] VARCHAR(200), [Chinese Simplified] VARCHAR(200))"
Dim RECORDSET2 As New ADODB.Connection
Set RECORDSET2 = New ADODB.Connection
'commented the line
'Set RECORDSET2 = WScript.CreateObject("ADODB.RECORDSET")
RECORDSET2.Open CONNECTION2, adOpenKeyset, adLockOptimistic
'Do Until RECORDSET1.EOF
RECORDSET2.AddNew
Dim i
For i = 0 To RECORDSET1.Fields.Count - 1
'comented the line
'WScript.Echo RECORDSET1.Fields(i).Value
RECORDSET2.Fields(i).Value = RECORDSET1.Fields(i).Value
Next
RECORDSET2.Update
RECORDSET1.MoveNext
Loop
End Sub
我在運行此代碼時仍遇到問題。運行下面的線,而:
RECORDSET2.Open連接2,adOpenKeyset,ADLOCKOPTIMISTIC
它給一個運行時錯誤「無法啓動application.The工作組文件丟失或完全由其他用戶打開」。我幾乎被這個難住了。有任何想法嗎。對我來說,它看起來像probs與數據源。 注意: - 我沒有安裝MS訪問。
相關:http://stackoverflow.com/questions/4221176/excel-to-csv-with-utf8-encoding – Tomalak
你真的想要一個VB腳本解決方案嗎?如果excel save-as命令可以做到這一點,該怎麼辦? –
@Salman我很確定他的意思是VBA。另外,從另一個問題可以看出,「另存爲」並不能解決問題。 – Tomalak