这个问题看起来类似于 Visual basic handle decimal comma ,但那是一个完全不同的问题。
我正在编写一个 VBA 宏来将 Excel 文件保存到 .txt
文件中。此代码行是通过实际记录宏生成的,我将文件保存到 .txt
:
ActiveWorkbook.SaveAs Filename, FileFormat:=xlText
现在,问题是 .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 文件后将其更改回来
关于vba - 保存为文本时使用逗号而不是点来表示小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22804699/