2014-10-28 80 views
0

是否可以執行遞歸搜索並替換單詞VBA腳本中的特定字符串?遞歸搜索並替換單詞VBA腳本

具體來說,我想用「:」替換「:」的所有實例。

我已經廣泛搜索,但還沒有找到任何東西。

我不是要求代碼解決方案,但在正確的方向或在線例子的指針會是太棒了。

+0

爲什麼你希望搜索是** **遞歸? Selection.Find與替換:= wdReplaceAll是不夠的?請參閱http://msdn.microsoft.com/en-us/library/office/aa211953(v=office.11​​).aspx – 2014-10-28 21:20:37

+0

不,您不需要搜索就可以遞歸。上面的鏈接可以幫助你。 – 2014-10-28 21:27:05

+0

@ M.Page正在使用Selection.Find和Replace:= wdReplaceAll等同於單詞中的「全部替換」按鈕?如果是這樣,我會在循環中運行它,而不是使其遞歸?我不是程序員,但希望我知道足夠實施這一點。 – 2014-10-28 21:30:12

回答

1

在Word中,創建一個VBA宏是這樣的:

Sub rem_space() 
    Set myRange = ActiveDocument.Content 
    With myRange.Find 
     .Text = " :" 
     .Replacement.Text = ":" 
     .Execute Replace:=wdReplaceAll, Forward:=True, _ 
      Wrap:=wdFindContinue 
    End With 
End Sub 
+0

如果必須多次運行宏,可能是因爲在冒號前可能有幾個空格。在這種情況下,請執行以下操作:對於i = 1到10:rem_space:next i(10僅作爲示例)。 – 2014-10-28 22:19:35

+0

使用通配符找到「{1,10}:」並將其替換爲「:」(不要把引號放在那裏) – 2014-10-29 09:51:35

+0

@bibadia你能舉個例子嗎? – 2014-10-29 16:30:41