【問題】請問如果要在word中取代一組字串,而這字串要在字的開頭才取代,要怎麼做呢?



贊助商連結


ysc900cd
2006-08-24, 12:23 AM
首先,謝謝各位高手的關心。

我想請問的是:
如果要在word中取代一組字串,而這字串要在字的開頭才取代,要怎麼做呢?

【範例文】
ICE12345 xxxxxxx...
ICE23456 xxxxxxx...

This is OFFICE document.

【 ICE 想取代成 orz 】
orz12345 xxxxxxx...
orz23456 xxxxxxx...

This is OFFICE document. <==然而這一行不想被取代成 "This is OFForz document."

我試著寫巨集,但是卻找不到如何判斷的方法,還請高手解答,謝謝。

贊助商連結


ICLA
2006-08-24, 01:19 AM
使用 Regular Expression 的方式如下:

1. 按 Ctrl+H 叫出「取代」對話方塊。
2. 勾選該對話方塊上的「使用萬用字元」核取方塊。
3. 在「尋找目標」文字方塊中輸入 <(ICE),在「取代為」文字方塊中輸入 orz。
4. 按一下「全部取代」按鈕。

其中 < 表示只尋找開頭為指定文字的字串,而 ICE 就是您要尋找的字串。

上述取代方式的巨集這樣寫:

Sub 巨集1()

With Selection.Find
.Text = "<(ICE)"
.Replacement.Text = "orz"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

End Sub

ysc900cd
2006-08-25, 06:37 PM
使用 Regular Expression 的方式如下:

<(ICE)

喔~~ 還可以用 "<" 配合萬用字元呀!!
原來還有這種用法呀,真是厲害耶,謝謝ICLA大大的回覆,
又讓我學到一招了,再次感謝啦~~~~~~~~~~~~