目前我使用VBA代码将范围数据导出到CSV文件:
Sub Fct_Export_CSV_Migration() Dim Value As String Dim size As Integer
Value = ThisWorkbook.Path & "\Export_Migration" & Sheets(1).range("B20").Value & ".csv" chemincsv = Value
Worksheets("Correspondance Nv Arborescence").Select Dim Plage As Object, oL As Object, oC As Object, Tmp As String, Sep$ Sep = ";" size = Worksheets("Correspondance Nv Arborescence").range("B" & Rows.Count).End(xlUp).Row Set Plage = ActiveSheet.range("A1:B" & size)
Open chemincsv For Output As #1 For Each oL In Plage.Rows
Tmp = ""
For Each oC In oL.Cells
Tmp = Tmp & CStr(oC.Text) & Sep
Next
'take one less than length of the string number of characters from left, that would eliminate the trailing semicolon
Tmp = Left(Tmp, Len(Tmp) - 1)
Print #1, Tmp Next Close
MsgBox "OK! Export to " & Value End Sub
现在,我想导出使用“ Unicode ”编码的CSV。我想我需要使用像SaveAs(xlUnicodeText)这样的VBA函数但是如何使用它?
THX
答案 0 :(得分:1)
Unicode CSV不是Excel支持的文件格式之一,开箱即用。这意味着我们无法使用java -jar my.jar -Dcom.sun....
方法。我们可以使用VBA解决这个限制的好消息。
我的方法使用file system object。这个非常方便的对象非常适合与文件系统交互。在使用之前,您需要添加一个参考:
代码:
SaveAs
此代码循环活动工作表中的每个已使用行。在每一行中,它遍历使用中的每一列。每个单元格的内容都会附加到您的文本文件中。在每行的末尾,添加换行符。
使用;只需用您的文件名替换 !!您的文件路径HERE.CSV !! 。