2012-02-13 68 views
0

我試圖刪除全部在我的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標籤。

回答

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的替代

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碼

[]的代表

+0

它看起來並不像這樣做,謝謝。 – 2012-02-14 00:02:42

+0

chr(32)是要刪除的空格字符的代碼,您嘗試過嗎? – 2012-02-14 00:04:08

+0

是的,我試過了,它們都在.Text和.Replacement.Text中,它並不完全符合我的要求。我試圖刪除表格外的所有換行符,不確定這實際上做了什麼。 – 2012-02-14 00:09:17

相關問題