保存为文本时,请使用逗号而不是小数点

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

我正在写一个VBAmacros将我的Excel文件保存到一个.txt文件。 该代码行是通过实际logging一个将文件保存到.txt的macros来生成的:

 ActiveWorkbook.SaveAs Filename, FileFormat:=xlText 

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

一些有趣的细节:

  • 我确定Windows和Excel设置为使用正确的本地设置。 在我看来,小数是用逗号正确显示。
  • 当手动保存工作簿时,它也正确地将逗号写入文件。 但是,当执行这个时候我logging的VBA代码,我得到了点。

有一些漂亮的论点或选项,我忘了? 我真的在这里感到茫然 – 即使我的第四杯咖啡也没有带来任何启发。

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

 ActiveWorkbook.SaveAs Filename, FileFormat:=xlText, Local:=True 

您也可以指定任何明确的分隔符:

 Application.DecimalSeparator = "," ' or any other separator, eg "-" ActiveWorkbook.SaveAs Filename, FileFormat:=xlText, Local:=True 

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