Word-Scripting:用薄空格替换不间断空格?

时间:2014-10-17 18:32:25

标签: ms-word word-vba

我使用word来打开(特殊)html文档进行打印,并希望编写一个脚本来修复一个小问题:

在html文件中,我将“15 cm”等数字写为“15 cm”,因此数字“15”和单位“cm”之间不会有换行符。

我的问题是:间距过宽,尤其是当word扩展空格以使句子符合边距时。

所以我想用一些单词VBA脚本替换这些空格。我想我需要枚举段落,但我不知道如何替换那里的文字。这是我到目前为止所提出的,但我不知道如何写出html nbsp in word以及什么用于薄空间,也许有人可以帮助我?

Sub MakeThinSpaces()
Dim para As Paragraph
For Each para In ActiveDocument.Paragraphs
  replace the   with some   here?
Next
End Sub

1 个答案:

答案 0 :(得分:1)

精简空间是Unicode 8201.(一个狭窄的不间断空间将是8239)。 它应该使用选择对象使用此代码 ^s是受保护空间的通配符,您也可以使用Chr(160)

Selection.WholeStory
With Selection.Find
    .Text = "^s"
    .Replacement.Text = ChrW(8201)
    .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll