【发布时间】:2014-11-27 15:11:49
【问题描述】:
我一直在尝试修改here 给出的出色示例,但收效甚微。在 MSWord 文档中,我需要能够找到像 <<TEST>> 这样的文本并恢复在 << 和 >> 之间找到的字符串,该字符串将返回 TEST。最终,我打算使用它来查找 TEST 的值并返回要在 Word 文档中替换的字符串。 IE。例如,<<TEST>> 变为 FRED。
Sub Sample()
Dim c As Range
Dim StartWord As String, EndWord As String, TheWord As String
StartWord = "<<": EndWord = ">>"
Set c = ActiveDocument.Content
c.Find.ClearFormatting
c.Find.Replacement.ClearFormatting
With c.Find
.Text = "[\<]{2}*[\>]{2}"
'.Replacement.Text = TheWord
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
c.Find.Execute
While c.Find.Found
Debug.Print c.Text
TheWord = Replace(Replace(c.Text, StartWord, ""), EndWord, "")
Debug.Print TheWord
c.Find.Replacement.Text = TheWord
' Future something here to lookup value based on 'TheWord'
c.Find.Execute Replace:=wdReplaceOne
Wend
End Sub
目前,我只是想用在其中找到的字符串替换那些像<<TEST>> 这样的词。虽然它会找到并替换与模式匹配的文本的第一个实例,但它不会找到像 example 这样的其他实例。
谢谢。
【问题讨论】: