我正在尝试使用excel中的VBA代码搜索给定word文档中的一些文本。
Excel列中的值列表
在excel列中搜索术语
Word文件中可用的值为:
所以对于搜索术语: 1.1.1和1.1.1.4它应该说没有找到,对于其他三个值,它会说找到
代码适用于除1.1.1之外的所有其他值。即使它在单词文档中不存在,它也会找到。
正在发生的是,在word文档中找到“1.1.1.3”中的模式(1.1.1)。 (这是真的但不是我想做的事情)
但我想要做的是准确搜索1.1.1而不是某些部分术语
关于如何在VBA中有效完成任何建议?
我正在考虑的是在搜索词之后检查空白区域以解决此问题,但我认为这不会足够有效。
代码
Set Wksht = ThisWorkbook.Sheets("Sheet1")
Wksht.Select
Set rRng = Wksht.Range("A3", Range("A65536").End(xlUp))
For Each rCell In rRng
For Each rngStory In oWordDoc.StoryRanges
With rngStory.Find
.Text = rCell
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False '
End With
rngStory.Find.Execute
While rngStory.Find.Found
'MsgBox (rngStory.Find.Text)
rCell(1, 2).Value = "completed"
rngStory.Find.Execute
Wend
Next
Next
使用搜索字词和尾随空格进行搜索的解决方案代码
searchText = " " & rCell & " "
For Each rngStory In oWordDoc.StoryRanges
With rngStory.Find
.Text = searchText
.
.
.....