保存为文本时,请使用逗号代替小数点

Lee*_*ite 3 excel vba excel-vba number-formatting

这个问题看起来类似于Visual Basic句柄十进制逗号,但那个问题是一个完全不同的问题.

我正在编写一个VBA宏来将我的Excel文件保存到.txt文件中.此代码行是通过实际记录我保存文件的宏来生成的.txt:

ActiveWorkbook.SaveAs Filename, FileFormat:=xlText
Run Code Online (Sandbox Code Playgroud)

现在,问题是该.txt文件具有用点格式化的所有小数,而我要求它们是逗号.例如,它32.7在我期待的时候写32,7.

一些有趣的细节:

  • 我已确保Windows和Excel设置为使用正确的本地设置.我看的每个地方,小数都用逗号正确显示.
  • 手动保存工作簿时,它也正确地将逗号写入文件.但是,当执行我在执行此操作时记录的VBA代码时,我得到了点.

我忘记了一些漂亮的论点或选项吗?我真的很茫然 - 即使我的第四杯咖啡也没有带来任何灵感.

Dmi*_*liv 8

这适用于我(如果你的本地分隔符是逗号):

ActiveWorkbook.SaveAs Filename, FileFormat:=xlText, Local:=True
Run Code Online (Sandbox Code Playgroud)

您还可以明确指定所需的任何分隔符:

Application.DecimalSeparator = "," ' or any other separator, e.g. "-"
ActiveWorkbook.SaveAs Filename, FileFormat:=xlText, Local:=True
Run Code Online (Sandbox Code Playgroud)

但它会影响整个工作簿,如果它与本地分隔符不同,您可以在保存txt文件后将其更改回来