我正在 Excel 中使用以下宏,它循环遍历工作簿中的所有工作表并将每个工作表保存到其自己的 .csv 文件中。问题是我需要将其保存为使用 UTF-8 编码的 .csv。我读到 Excel 对 .csv 的默认编码是 ANSI,这对我来说不起作用,因为我有一些文件包含特殊字符。有人知道我该怎么做吗?
宏:
Public Sub ExportSheetsToCSV()
Dim wsExport As Worksheet
Dim wbkExport As Workbook
For Each wsExport In Worksheets
wsExport.Select
nm = wsExport.Name
If Not IsActiveSheetEmpty() Then
ActiveSheet.SaveAs fileName:="H:\CSV_Split_Exports\" & nm, FileFormat:=xlCSV
Application.DisplayAlerts = True
End If
Next wsExport
End Sub
答案1
“简单方法”是保存为“Unicode 文本”。这将是 UTF-16,标签分隔格式,而不是逗号分隔。
大多数软件导入过程允许您在导入数据时指定分隔符,但是如果您的特定应用程序不允许,则可以使用查找+替换对文件进行后期处理,将制表符更改为逗号。