使用 Visual Basic 在 Word 中的公式内的值和单位之间添加空格

使用 Visual Basic 在 Word 中的公式内的值和单位之间添加空格

这就是重点。

我有一个从 Pages 导入的文档,其中包含很多方程式。

方程式中的数字和单位之间有空格,例如:

100.11 m
200.32 W

将其导入 Word 后,公式中空格消失了,现在

100.11m
200.32W

另外一个额外的问题是,在转换过程中,一些数字用逗号而不是点来表示小数点分隔符。

所以,我的正则表达式是这样的......

([0-9]*[\.|\,][0-9]*)([m|W])

搜索一个有 n 位数字的数字,加上一个点或逗号,加上另一个数字,加上一个字母 m 或 v...

我想要空格回来,所以我做了以下 VBA 宏

Sub AddSpace()
    For Each eqn In ActiveDocument.OMaths
        eqn.Range.Find.Execute FindText:="([0-9]*[\.|\,][0-9]*)([m|W])", ReplaceWith:="\1" & " " & "\2", MatchCase:=True, MatchWildcards:=True, Replace:=wdReplaceAll
    Next
End Sub

此脚本挂起了 word。

答案1

以下是简单的解决方案:

在 Word 中编辑您的文档,使用替换命令 ( Ctrl+ H),勾选“使用通配符”并输入:

查找内容:([0-9]@).([0-9]@)m
替换为:\1.\2 m

然后点击全部替换

这将完成所有操作m,然后重复上述操作W

相关内容