Word:选中文本作为查找内容快速进行查找的宏定义

来源:互联网 发布:3dmax动画导入unity3d 编辑:程序博客网 时间:2024/06/07 11:00

本文要谈的就是Word,而且是其中一个最最常用的查找功能。这有什么好说的呢,有兴趣的听我细细道来吧。


大家看了这个标题可能会有一些不解,这不是Word中快捷键Ctrl+F就直接出来的结果吗。如果你肯多试几个的词的话,你就会发现有些时候选中文本会自动出现在“查找内容”文本框中,而有些时候显示的还是上次选中的文本。这又是为什么呢?原因是只有当Word认为选中的文本是一个“词”时,Ctrl+F后选中文本才会自动出现在“查找内容”中


不过很多情况下,我们就是希望选中的内容为关键字进行查找,而不希望Word那个词认定的标准干扰我们。

【改善前查找标准操作】

选中文本-->拷贝-->Ctrl+F-->粘贴-->回车(查找),足足有5步。

当然,如果我们确信选中的文本是Word所认定的词的话,那么上面的拷贝与粘贴两步可省略,变为3步。不过这样做会有一个风险,即这个词其实并没有为Word所认定为词,这时就得不偿失了,得Esc(关闭查找对话框)--》拷贝。。。结果变为最差的8步!!


【改善后】

选中文本-->Ctrl+Shift+PageDown(下面宏定义的快捷键,可自定义),只需要2步!


【宏定义】**如何为宏定义指定快捷键,本文不再赘述。

Sub Search_Text()
  Dim myText As String   ' 選択されている文字列
  If Selection.Start = Selection.End Then
    myText = ""
  Else
    myText = Selection.Text
  End If
  'あいまい検索を実施
  Selection.Find.ClearFormatting
  Selection.Find.Replacement.ClearFormatting
  With Selection.Find
    .Text = myText
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = True
  End With
  Selection.Find.Execute
End Sub


【参考】**可惜的是下面这个新田順也的Blog无法正常访问。据他自己的介绍,今年10月他刚当选为Office部门的MVP。

ameblo.jp/gidgeerock/entry-10909589407.html



原创粉丝点击