VBA换字十进制分隔符

VBA换字十进制分隔符,vba,ms-word,Vba,Ms Word,我周围的一些人在windows/office中使用国家本地化。不幸的是,这导致了这样的情况:我的宏无法进行简单的数学运算,因为它们使用逗号表示小数点位置,而我正在编辑的pov ray文件仅使用逗号表示列表分隔符,使用点表示小数点。我知道在Excel中,可以使用 With Application. .DecimalSeparator = "." .ThousandsSeparator = "," .UseSystemSeparators = False End With

我周围的一些人在windows/office中使用国家本地化。不幸的是,这导致了这样的情况:我的宏无法进行简单的数学运算,因为它们使用逗号表示小数点位置,而我正在编辑的pov ray文件仅使用逗号表示列表分隔符,使用点表示小数点。我知道在Excel中,可以使用

With Application.
    .DecimalSeparator = "."
    .ThousandsSeparator = ","
    .UseSystemSeparators = False
End With

然而,MS Word中并没有类似小数分隔符的应用程序属性。在MS Word中,是否有一种简单的方法可以在宏运行时覆盖系统分隔符?还是在阅读povray文件的过程中,我需要费劲地更换它们?

由于没有耐心,我用了“费劲的方法”。我声明了公共变量

Public strDecimal As String
然后在main sub的开始处,我设置其值:

strDecimal = Application.International(wdDecimalSeparator)
然后在源代码中,我替换了所有的读入,如

CDbl(strShort(5))

所有的文字都是这样写的

Selection.TypeText Text:=CStr(Int(1000 * bondRadius) / 1000)

它不像覆盖系统设置那样优雅,但它花费了我不太多的时间,而且对我很有效。如果有人能看出原因,为什么它有时会失败,请留下一些评论


我将播放一下barrowc评论(thanx)中的信息,看看它是只读还是读写值。

我找不到类似的内容。我检查了
应用程序、全局
选项
属性,但没有类似的内容。但是使用系统设置或API时可能有任何解决方案-不知道…您可以从
Application.International
属性确定当前值-例如
Debug.Print Application.International(wdDecimalSeparator)
请参阅
wdInternationalIndex
枚举
sub ReplaceCommabetweenDigits(sData as String)

 sData = Replace(sData, "0,0", "0.0")
sData = Replace(sData, "0,1", "0.1")
sData = Replace(sData, "0,2", "0.2")
sData = Replace(sData, "0,3", "0.3")
sData = Replace(sData, "0,4", "0.4")
sData = Replace(sData, "0,5", "0.5")
sData = Replace(sData, "0,6", "0.6")
sData = Replace(sData, "0,7", "0.7")
sData = Replace(sData, "0,8", "0.8")
sData = Replace(sData, "0,9", "0.9")
sData = Replace(sData, "1,0", "1.0")
sData = Replace(sData, "1,1", "1.1")
sData = Replace(sData, "1,2", "1.2")
sData = Replace(sData, "1,3", "1.3")
sData = Replace(sData, "1,4", "1.4")
sData = Replace(sData, "1,5", "1.5")
sData = Replace(sData, "1,6", "1.6")
sData = Replace(sData, "1,7", "1.7")
sData = Replace(sData, "1,8", "1.8")
sData = Replace(sData, "1,9", "1.9")
sData = Replace(sData, "2,0", "2.0")
sData = Replace(sData, "2,1", "2.1")
sData = Replace(sData, "2,2", "2.2")
sData = Replace(sData, "2,3", "2.3")
sData = Replace(sData, "2,4", "2.4")
sData = Replace(sData, "2,5", "2.5")
sData = Replace(sData, "2,6", "2.6")
sData = Replace(sData, "2,7", "2.7")
sData = Replace(sData, "2,8", "2.8")
sData = Replace(sData, "2,9", "2.9")
sData = Replace(sData, "3,0", "3.0")
sData = Replace(sData, "3,1", "3.1")
sData = Replace(sData, "3,2", "3.2")
sData = Replace(sData, "3,3", "3.3")
sData = Replace(sData, "3,4", "3.4")
sData = Replace(sData, "3,5", "3.5")
sData = Replace(sData, "3,6", "3.6")
sData = Replace(sData, "3,7", "3.7")
sData = Replace(sData, "3,8", "3.8")
sData = Replace(sData, "3,9", "3.9")
sData = Replace(sData, "4,0", "4.0")
sData = Replace(sData, "4,1", "4.1")
sData = Replace(sData, "4,2", "4.2")
sData = Replace(sData, "4,3", "4.3")
sData = Replace(sData, "4,4", "4.4")
sData = Replace(sData, "4,5", "4.5")
sData = Replace(sData, "4,6", "4.6")
sData = Replace(sData, "4,7", "4.7")
sData = Replace(sData, "4,8", "4.8")
sData = Replace(sData, "4,9", "4.9")
sData = Replace(sData, "5,0", "5.0")
sData = Replace(sData, "5,1", "5.1")
sData = Replace(sData, "5,2", "5.2")
sData = Replace(sData, "5,3", "5.3")
sData = Replace(sData, "5,4", "5.4")
sData = Replace(sData, "5,5", "5.5")
sData = Replace(sData, "5,6", "5.6")
sData = Replace(sData, "5,7", "5.7")
sData = Replace(sData, "5,8", "5.8")
sData = Replace(sData, "5,9", "5.9")
sData = Replace(sData, "6,0", "6.0")
sData = Replace(sData, "6,1", "6.1")
sData = Replace(sData, "6,2", "6.2")
sData = Replace(sData, "6,3", "6.3")
sData = Replace(sData, "6,4", "6.4")
sData = Replace(sData, "6,5", "6.5")
sData = Replace(sData, "6,6", "6.6")
sData = Replace(sData, "6,7", "6.7")
sData = Replace(sData, "6,8", "6.8")
sData = Replace(sData, "6,9", "6.9")
sData = Replace(sData, "7,0", "7.0")
sData = Replace(sData, "7,1", "7.1")
sData = Replace(sData, "7,2", "7.2")
sData = Replace(sData, "7,3", "7.3")
sData = Replace(sData, "7,4", "7.4")
sData = Replace(sData, "7,5", "7.5")
sData = Replace(sData, "7,6", "7.6")
sData = Replace(sData, "7,7", "7.7")
sData = Replace(sData, "7,8", "7.8")
sData = Replace(sData, "7,9", "7.9")
sData = Replace(sData, "8,0", "8.0")
sData = Replace(sData, "8,1", "8.1")
sData = Replace(sData, "8,2", "8.2")
sData = Replace(sData, "8,3", "8.3")
sData = Replace(sData, "8,4", "8.4")
sData = Replace(sData, "8,5", "8.5")
sData = Replace(sData, "8,6", "8.6")
sData = Replace(sData, "8,7", "8.7")
sData = Replace(sData, "8,8", "8.8")
sData = Replace(sData, "8,9", "8.9")
sData = Replace(sData, "8,0", "8.0")
sData = Replace(sData, "9,1", "9.1")
sData = Replace(sData, "9,2", "9.2")
sData = Replace(sData, "9,3", "9.3")
sData = Replace(sData, "9,4", "9.4")
sData = Replace(sData, "9,5", "9.5")
sData = Replace(sData, "9,6", "9.6")
sData = Replace(sData, "9,7", "9.7")
sData = Replace(sData, "9,8", "9.8")
sData = Replace(sData, "9,9", "9.9")


End sub

Selection.TypeText Text:=CStr(Replace(Int(1000 * bondRadius) / 1000, strDecimal, "."))
sub ReplaceCommabetweenDigits(sData as String)

 sData = Replace(sData, "0,0", "0.0")
sData = Replace(sData, "0,1", "0.1")
sData = Replace(sData, "0,2", "0.2")
sData = Replace(sData, "0,3", "0.3")
sData = Replace(sData, "0,4", "0.4")
sData = Replace(sData, "0,5", "0.5")
sData = Replace(sData, "0,6", "0.6")
sData = Replace(sData, "0,7", "0.7")
sData = Replace(sData, "0,8", "0.8")
sData = Replace(sData, "0,9", "0.9")
sData = Replace(sData, "1,0", "1.0")
sData = Replace(sData, "1,1", "1.1")
sData = Replace(sData, "1,2", "1.2")
sData = Replace(sData, "1,3", "1.3")
sData = Replace(sData, "1,4", "1.4")
sData = Replace(sData, "1,5", "1.5")
sData = Replace(sData, "1,6", "1.6")
sData = Replace(sData, "1,7", "1.7")
sData = Replace(sData, "1,8", "1.8")
sData = Replace(sData, "1,9", "1.9")
sData = Replace(sData, "2,0", "2.0")
sData = Replace(sData, "2,1", "2.1")
sData = Replace(sData, "2,2", "2.2")
sData = Replace(sData, "2,3", "2.3")
sData = Replace(sData, "2,4", "2.4")
sData = Replace(sData, "2,5", "2.5")
sData = Replace(sData, "2,6", "2.6")
sData = Replace(sData, "2,7", "2.7")
sData = Replace(sData, "2,8", "2.8")
sData = Replace(sData, "2,9", "2.9")
sData = Replace(sData, "3,0", "3.0")
sData = Replace(sData, "3,1", "3.1")
sData = Replace(sData, "3,2", "3.2")
sData = Replace(sData, "3,3", "3.3")
sData = Replace(sData, "3,4", "3.4")
sData = Replace(sData, "3,5", "3.5")
sData = Replace(sData, "3,6", "3.6")
sData = Replace(sData, "3,7", "3.7")
sData = Replace(sData, "3,8", "3.8")
sData = Replace(sData, "3,9", "3.9")
sData = Replace(sData, "4,0", "4.0")
sData = Replace(sData, "4,1", "4.1")
sData = Replace(sData, "4,2", "4.2")
sData = Replace(sData, "4,3", "4.3")
sData = Replace(sData, "4,4", "4.4")
sData = Replace(sData, "4,5", "4.5")
sData = Replace(sData, "4,6", "4.6")
sData = Replace(sData, "4,7", "4.7")
sData = Replace(sData, "4,8", "4.8")
sData = Replace(sData, "4,9", "4.9")
sData = Replace(sData, "5,0", "5.0")
sData = Replace(sData, "5,1", "5.1")
sData = Replace(sData, "5,2", "5.2")
sData = Replace(sData, "5,3", "5.3")
sData = Replace(sData, "5,4", "5.4")
sData = Replace(sData, "5,5", "5.5")
sData = Replace(sData, "5,6", "5.6")
sData = Replace(sData, "5,7", "5.7")
sData = Replace(sData, "5,8", "5.8")
sData = Replace(sData, "5,9", "5.9")
sData = Replace(sData, "6,0", "6.0")
sData = Replace(sData, "6,1", "6.1")
sData = Replace(sData, "6,2", "6.2")
sData = Replace(sData, "6,3", "6.3")
sData = Replace(sData, "6,4", "6.4")
sData = Replace(sData, "6,5", "6.5")
sData = Replace(sData, "6,6", "6.6")
sData = Replace(sData, "6,7", "6.7")
sData = Replace(sData, "6,8", "6.8")
sData = Replace(sData, "6,9", "6.9")
sData = Replace(sData, "7,0", "7.0")
sData = Replace(sData, "7,1", "7.1")
sData = Replace(sData, "7,2", "7.2")
sData = Replace(sData, "7,3", "7.3")
sData = Replace(sData, "7,4", "7.4")
sData = Replace(sData, "7,5", "7.5")
sData = Replace(sData, "7,6", "7.6")
sData = Replace(sData, "7,7", "7.7")
sData = Replace(sData, "7,8", "7.8")
sData = Replace(sData, "7,9", "7.9")
sData = Replace(sData, "8,0", "8.0")
sData = Replace(sData, "8,1", "8.1")
sData = Replace(sData, "8,2", "8.2")
sData = Replace(sData, "8,3", "8.3")
sData = Replace(sData, "8,4", "8.4")
sData = Replace(sData, "8,5", "8.5")
sData = Replace(sData, "8,6", "8.6")
sData = Replace(sData, "8,7", "8.7")
sData = Replace(sData, "8,8", "8.8")
sData = Replace(sData, "8,9", "8.9")
sData = Replace(sData, "8,0", "8.0")
sData = Replace(sData, "9,1", "9.1")
sData = Replace(sData, "9,2", "9.2")
sData = Replace(sData, "9,3", "9.3")
sData = Replace(sData, "9,4", "9.4")
sData = Replace(sData, "9,5", "9.5")
sData = Replace(sData, "9,6", "9.6")
sData = Replace(sData, "9,7", "9.7")
sData = Replace(sData, "9,8", "9.8")
sData = Replace(sData, "9,9", "9.9")


End sub