删除表之前和之后的所有空格

时间:2012-02-13 23:06:01

标签: vba word-vba

我正在尝试删除word文档中所有表对象之前和之后的所有空格。

这是我到目前为止的代码:

With Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "^p^p"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    .Execute Replace:=wdReplaceAll
End With

这似乎删除了一些新的换行符,但不是全部。运行此宏后,当我单击显示所有隐藏的字符时,它仍会显示一些| P标记。

1 个答案:

答案 0 :(得分:2)

尝试更改

.Text = "^p^p"

.Text = Chr(32)

要找出要替换的字符,请选择文字并运行以下宏。

Sub DebugAscCode()
For i = 1 To Len(Selection.Text)
    Debug.Print Asc(Mid(Selection.Text, i))
Next i
End Sub

在VBA上使用replace

Sub ReplaceAscCode()
Dim tmpArray As Variant

tmpArray = Array(7, 13, 32)

For j = LBound(tmpArray) To UBound(tmpArray)
    Selection.Text = Replace(Selection.Text, ASC(tmpArray(j)), "")
Next j

End Sub

我已经在我的作品中使用了它,这种方式完美无缺,每个角色总是用ASC代码表示

[]的