この記事を新しいサイトに転記しました
----------------------------------------
句読点などを手掛かりにしてカーソルを移動させると、カーソルの移動が速く、かつ正確になります。
キーボードの左右のキーを連打しなくてもよくなりますね。
▼このマクロでできること
カーソルを移動させます。
進める場合も戻す場合も、ともに、。、?!:;(全角の場合)の手前でカーソルが止まります。
ぱらぱら を使った上書き翻訳をする場合に、できるだけ速くカーソルを移動させたいので、このときに使います。
普段文章を書く時にも役立ちます。
Wordをチューニング する楽しみが広がるマクロですよ。
▼マクロの解説
青色と赤色の二つのマクロがあります。
カーソルを止めるキーワードを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
▼関連記事
一括置換用マクロ「ぱらぱら」