kongyunzi

梦想成为化学家的程序员
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在Word中直接用快捷键查找选中文本

Posted on 2013-07-03 15:55  kongyunzi  阅读(1838)  评论(0编辑  收藏  举报

在word中选中文本后按Ctrl+F,有些时候选中文本会自动出现在“查找内容”文本框中,而有些时候显示的还是上次选中的文本。
这是因为只有当Word认为选中的文本是一个“词”时,选中文本才会自动出现在“查找内容”中。
所以,为了查找某个文本,常常需要以下操作:
选中文本-->复制-->Ctrl+F-->粘贴-->回车(查找)。而且复制粘贴操作还会覆盖掉剪贴板原有的内容。
我们所希望的结果是无论选中的是什么,都能够直接进行查找。

利用如下宏可实现直接查找选中文本,选中文本-->自定义宏快捷键(我将其定义为Ctrl+D)2步即可!连查找对话框都省了。

【宏定义】
Sub Search_Select_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

【操作步骤】
*想要在所有文件中启用该宏需要更改启用宏的模板。

1.打开启用宏的模板(右键选择打开,不要双击):
xp: C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates\Normal.dotm
win7: C:\Users\y00218871.CHINA\AppData\Roaming\Microsoft\Templates\Normal.dotm
  C:\Windows\ShellNew\normal.dotm

2.选择“开发工具”->“VisualBaisic”

3.在导航栏中打开“Normal->Microsoft Word对象->ThisDocument”

4.将上述宏拷贝到编辑窗口中并保存

5.为宏Search_Select_Text添加快捷键

*可新建两个宏,一个正向查找一个反向查找(Ctrl+Shift+D)