由VBA创建的CSV引号

问题描述 投票:0回答:1

在xlsb文件中,在单元格A1中,我有以逗号分隔的列名称,在B2中有逗号分隔值。

当我使用宏保存文件然后用记事本打开它时,在每行的开始和结束处有两行带引号的文本。当我手动保存文件时,使用记事本打开的同一文件没有引号。

不幸的是,引号与我尝试将csv导入的系统产生冲突。

我用来保存文件的VBA代码很简单

ActiveWorkbook.SaveAs path & "\Import DS", FileFormat:=xlCSVUTF8

我将非常感谢有关如何在没有引号的情况下保存csv或从生成的文件中删除它们的提示。但由于变音符号,将文件编码为UTF-8至关重要。

vba export-to-csv
1个回答
0
投票

我假设您的区域设置中没有逗号作为listseparator。看看here的解释

使用菜单导出工作表创建CSV文件时,Arkadiusz指出他可以指定他想使用分号(;)作为字段分隔符。但是,如果他使用宏(FileFormat:= xlCSV或xlCSVWindows)保存CSV文件,则他不能将分号指定为分隔符。

这在VBA中通过设计以这种方式工作。 VBA导出例程的Excel实现始终使用Windows区域设置来确定如何分隔CSV中的项目。具体来说,例程查看分隔符的List Separator字段。这意味着,如果需要,您可以通过更改区域设置配置中的“列表分隔符”设置将分隔符更改为分号。

© www.soinside.com 2019 - 2024. All rights reserved.