2008-10-14

Word: 次の検索箇所

Wordの検索は、検索画面が別途出てきて、なにげに邪魔となっている場合がある。モニターが何画面もあればいいのですが、そういう環境でない場合も当然あるわけです。


そういった場合に、今の検索条件で、もう一つ次の場所を表示したい場合にショートカットキーを設定できないか、というのがこのエントリ。

次の検索というのは、元からショートカットがある。ctrl+page down。同様に前を検索はctrl+page up。

しかし、これは別のショートカットキーとかぶっているのである。

Wordで、page up/downすると、1画面分移動する。これは有名なので使っている人も多いと思われます。

Wordで、紙をぱらぱらめくる感じで次のページの先頭に移りたいという場合もあります。例えば、5ページあとと手元のプリントアウトで見て、その後、画面を移動するとき。このときのショートカットがctrl+page up/downとかぶっているのです。

従って、デフォルトでは、検索条件を入れていない状況では、ページが移動し、検索条件を入れているときは、前後の検索に移動します。

特に大画面を使っていると、このショートカットキーはいずれも利用するので、この混乱はとても困ります。

その混乱を解決するべく、別のショートカットキーを割り振るというのが、今回のマクロ。

ページの移動をctrl+page up/downに、検索の前後を、alt+テンキーのプラス/テンキーのエンターに割り振ってみました。

割り振りマクロ

'次のページ ctrl pagedown
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyPageDown, wdKeyControl), _
KeyCategory:=wdKeyCategoryMacro, Command:="次のページ"

'前のページ ctrl pageup
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyPageUp, wdKeyControl), _
KeyCategory:=wdKeyCategoryMacro, Command:="前のページ"

'次の検索 alt enter(ten)
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn, wdKeyAlt), KeyCategory _
:=wdKeyCategoryMacro, Command:="次の検索"

'前の検索 alt +(ten)
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyNumericAdd, wdKeyAlt), _
KeyCategory:=wdKeyCategoryMacro, Command:="前の検索"


で、次が肝心の中身の動き。

Sub 次のページ()
'
'次のページへ ctrl + PageDown
With Application.Browser
'表になど対応できるように変更。元は下記
' .Target = wdBrowsePage
.Target = wdBrowseGoTo
.Next
End With

End Sub

Sub 前のページ()
'
'前のページへ ctrl + Pageup
With Application.Browser
'表になど対応できるように変更。元は下記
' .Target = wdBrowsePage
.Target = wdBrowseGoTo
.Previous
End With

End Sub

Sub 次の検索()
'
Dim test
'次の検索へ Alt + num +
With Application.Browser
.Target = wdBrowseFind
.Next
End With

End Sub

Sub 前の検索()
'
'前の検索へ Alt + Enter
With Application.Browser
.Target = wdBrowseFind
.Previous
End With

End Sub





No comments: