2012-06-28 12 views
0

我無法在VBA中查找單詞以查找「If ...」單詞似乎不像查找「If」。部分。有任何想法嗎?找不到「If ...」

Sub Macro2() 
Selection.Find.ClearFormatting 
Selection.Find.Highlight = False 
Selection.Find.Replacement.ClearFormatting 
With Selection.Find 
    .Text = "If..." 
    .Replacement.Text = "If..." 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = True 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchWildcards = False 
    .MatchSoundsLike = False 
    .MatchAllWordForms = False 
End With 
Selection.Find.Execute Replace:=wdReplaceAll 
End Sub 
+4

你能提供一個你正在使用的代碼樣本嗎? – mellamokb

+1

Word可能會將文檔中的三個句點自動更正爲單個「省略號」字符。看看你是否可以用一個退格鍵刪除 - 如果你可以,那麼這就是你的問題。 –

回答

1

很可能是Word將單個字符省略號替換爲三個句點。

作爲一個獎勵,省略號在它之前和之後應該有一個空格,它可以是一半或較薄的空間,但肯定是一個非破壞性空間,因此它不會被強制到一個新行。

+0

好的,所以它把它改成了省略號,所以我怎麼能解釋它呢? – MBlackburn

+0

省略號字符粘貼到VB IDE中,因此您可以複製和粘貼(.Text =「If ...」)。或者,使用字符代碼(.Text =「If」&Chr(133))。 – ForEachLoop

+0

我試圖這個無濟於事。如果wrd = srchText然後如果wrd.Next(單位:= wdWord,計數:= 1).Text = Chr(133)或wrd.Next(單位:= wdWord,計數:= 1)對於ActiveDocument.Words中的每個wrd .Text = Chr(46)Then wrd.HighlightColorIndex = wdRed Else wrd.HighlightColorIndex = wdYellow End If End If Next' – MBlackburn