宏以查找先前在查找和替换中搜索过的单词

时间:2019-07-19 18:59:36

标签: vba ms-word find

Word删除了右下角的浏览对象,以向前/向后搜索当前搜索项。我试图将其作为添加为快捷键的命令来查找,但是却空了,因此我试图向快捷键写入/分配宏以向后(向上)查找当前搜索词。

例如,我搜索Chelmsford,下面的代码将我在文档中向后(向上)发送给Chelmsford实例。但是,当我搜索另一个词(例如马盖特)时,宏不会将切尔姆斯福德更改为马盖特,因此任何反向搜索仅针对切尔姆斯福德而不是MArgate,Jane或Basin,无论我正在搜索什么词。

我已经在网上搜寻了可以进行反向搜索的编码,我在Word中找不到用于快捷键的命令,而我看到的所有vba代码都一直在寻找x并替换它与

我想我需要做一个暗淡的编码,但是对于如何将其写成.Text =“”进行搜索,无论当前的搜索词/短语是什么,即更改先前的搜索词/短语,一无所知搜索“切姆斯福德”到新的搜索“马盖特”。

Selection.Find.ClearFormatting
With Selection.Find

    .Text = "Chelmsford"  <--- I want this text to change whenever the word changes in the find box--->

    .Forward = False
    .Wrap = wdFindAsk
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute

结束子

1 个答案:

答案 0 :(得分:1)

将OP的答案from the comments移动到答案字段,因为它对他有用。

Selection.Find.ClearFormatting 
With Selection.Find 
    .Forward = False 
    .Wrap = wdFindAsk 
    .Format = True 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchWildcards = False 
    .MatchSoundsLike = False 
    .MatchAllWordForms = False 
End With 
Selection.Find.Execute 
Selection.Find.ClearFormatting 
With Selection.Find 
    .Forward = True 
    .Wrap = wdFindAsk
    Format = True
End With