句読点などを手掛かりにしてカーソルを移動させると、カーソルの移動が速く、かつ正確になります。
キーボードの左右のキーを連打しなくてもよくなりますね。
<目次>
このマクロでできること
カーソルを移動させます。
進める場合も戻す場合も、ともに、。、?!:;(全角の場合)の手前でカーソルが止まります。
ぱらぱら を使った上書き翻訳をする場合に、できるだけ速くカーソルを移動させたいので、このときに使います。
普段文章を書く時にも役立ちます。
Wordをチューニング する楽しみが広がるマクロですよ。
マクロの解説
3行目~13行目、15行目~26行目の二つのマクロがあります。
カーソルを止めるキーワードをmyCsetというストリング型の定数に設定しています。
ここを変更すれば、カーソルが戻るときも進むときも同じようにコントロールすることができます。
直感的で気持ちい動きとなるように、ご自身で変更してみてください。
半角文字と全角文字を両方含むようにすれば、英文を扱う場合も日本文を扱う場合にも同じマクロで制御できます。
もう少し細かく
myCset の定数をPrivate キーワードで定義しています。
このように、特定のプロシージャー(Sub からEnd Subまでのプログラム文)の外に定数を宣言することができます。
Privateとすると、このモジュール内のすべてのプロシージャーからこの定数を参照することができます。
複数のプロシージャーで共通した定数であれば、このように一か所で定義するとわかりやすいですね。
変更するときにも、プロシージャーごとに変更する手間が省けるので便利です。
マクロ
Private Const myCset As String = "。、?!:;.,?!:;" Sub カーソル_戻る() Dim myRange As Range Set myRange = Selection.Range myRange.MoveEndUntil cset:=myCset, Count:=wdBackward myRange.Start = myRange.Start - 1 Selection.SetRange Start:=myRange.Start, End:=myRange.Start End Sub Sub カーソル_進む() Dim myRange As Range Set myRange = Selection.Range myRange.End = myRange.End + 1 myRange.MoveEndUntil cset:=myCset, Count:=wdForward Selection.SetRange Start:=myRange.End, End:=myRange.End End Sub
コメント