Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 当另存为文本时,使用逗号代替小数点_Vba_Excel_Number Formatting - Fatal编程技术网

Vba 当另存为文本时,使用逗号代替小数点

Vba 当另存为文本时,使用逗号代替小数点,vba,excel,number-formatting,Vba,Excel,Number Formatting,这个问题看起来很像,但那是一个完全不同的问题 我正在编写VBA宏以将Excel文件保存为.txt文件。此代码行是通过实际录制宏生成的,在宏中我将文件保存到.txt: 现在,问题是.txt文件的所有小数都用点格式化,而我要求它们是逗号。例如,它写32.7,而我期望的是32,7 一些有趣的细节: 我已确保Windows和Excel已设置为使用正确的本地设置。无论我看哪里,小数都用逗号正确显示。 手动保存工作簿时,它也会正确地将逗号写入文件。然而,当执行我记录的VBA代码时,我得到了点。 是否有一些漂

这个问题看起来很像,但那是一个完全不同的问题

我正在编写VBA宏以将Excel文件保存为.txt文件。此代码行是通过实际录制宏生成的,在宏中我将文件保存到.txt:

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

一些有趣的细节:

我已确保Windows和Excel已设置为使用正确的本地设置。无论我看哪里,小数都用逗号正确显示。 手动保存工作簿时,它也会正确地将逗号写入文件。然而,当执行我记录的VBA代码时,我得到了点。
是否有一些漂亮的论点或选择我忘记了?我在这里真是不知所措——即使是我的第四杯咖啡也没有带来任何灵感。

如果您当地的分隔符是逗号,这对我很有用:

ActiveWorkbook.SaveAs Filename, FileFormat:=xlText, Local:=True
还可以明确指定所需的任何分隔符:

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

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

它已经存在,@Bathsheba。这实际上只是以xlText作为文件格式的另存为。Filename是一个以.txt结尾的字符串,但这并不重要。四杯咖啡永远不是灵感的门槛。这将需要至少七杯或一杯Drambuie。如果可以的话,我会+10评论,@paxdidablo。非常感谢!我要为这一杯再斟一杯。
Application.DecimalSeparator = "," ' or any other separator, e.g. "-"
ActiveWorkbook.SaveAs Filename, FileFormat:=xlText, Local:=True