使用 VBA 将 Excel 工作表保存为 UTF-8 格式的 CSV

使用 VBA 将 Excel 工作表保存为 UTF-8 格式的 CSV

我正在 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,标签分隔格式,而不是逗号分隔。

大多数软件导入过程允许您在导入数据时指定分隔符,但是如果您的特定应用程序不允许,则可以使用查找+替换对文件进行后期处理,将制表符更改为逗号。

相关内容