Vba Excel范围。查找方法和问题与精确搜索文本匹配

Vba Excel范围。查找方法和问题与精确搜索文本匹配,vba,excel,find,Vba,Excel,Find,我正在尝试使用excel中的VBA代码搜索给定word文档中的某些文本 Excel列中的值列表 excel列中的搜索项 1.1.1 1.1.1.1 1.1.1.2 1.1.1.3 1.1.1.4 Word文件中可用的值包括: 1.1.1.1一些说明 1.1.1.2一些说明 1.1.1.3一些说明 因此,对于搜索词: 1.1.1和1.1.1.4应表示未找到,对于其他三个值,应表示已找到 代码适用于除1.1.1..之外的所有其他值,其中表示“已找到”,即使它不在word文档中 正在发生的是,

我正在尝试使用excel中的VBA代码搜索给定word文档中的某些文本

Excel列中的值列表

excel列中的搜索项

  • 1.1.1
  • 1.1.1.1
  • 1.1.1.2
  • 1.1.1.3
  • 1.1.1.4
Word文件中可用的值包括:

  • 1.1.1.1一些说明
  • 1.1.1.2一些说明
  • 1.1.1.3一些说明
因此,对于搜索词: 1.1.1和1.1.1.4应表示未找到,对于其他三个值,应表示已找到

代码适用于除1.1.1..之外的所有其他值,其中表示“已找到”,即使它不在word文档中

正在发生的是,它正在word文档中的“1.1.1.3”中找到模式(1.1.1)。(这是真的,但不是我想做的事)

但我想做的是搜索1.1.1,而不是部分项

关于如何在VBA中有效地实现这一点,有什么建议吗

我想做的是检查搜索词后面的空白来解决这个问题,但我认为这不够有效

代码

使用搜索词和尾随空格进行搜索的解决方案代码

searchText = " " & rCell & " "
For Each rngStory In oWordDoc.StoryRanges
             With rngStory.Find
                .Text = searchText
                .
                .
                .....

我认为,因为你用点,它混淆了“整个词”的东西,因为通常点结束一个词。我想你可能需要在搜索词前后使用空格。这将是同样有效的,而不是搜索“1.1.1”,你将搜索“1.1.1”-除了有空格外,其他都是一样的。谢谢-我想我会用空格作为searchTerm的前缀和后缀,然后使用尾随空格进行搜索问题是..这些数字是列表(项目符号)它们没有尾随空格,但在末尾有“tab”。执行此操作:在数字旁边插入一列,在单元格中键入“=”而不带引号,然后单击该列旁边的单元格(带数据的单元格),然后键入-&“”,这样就可以输入一个带空格的符号,后跟引号。因此,插入列中的单元格末尾有一个空格。复制,高亮显示整个列,然后粘贴。现在每个单元格都有一个尾随空格
searchText = " " & rCell & " "
For Each rngStory In oWordDoc.StoryRanges
             With rngStory.Find
                .Text = searchText
                .
                .
                .....