----------------------------------------
この記事を新しいサイトに転記しました
----------------------------------------
上書き翻訳での効率化は、早く文字列を正確に選択して移動させることである程度実現できます。
この方法を自分なりに考えていくことが楽しかったりもします。
ぱらぱら
を使った上書き翻訳をする場合にご利用ください。
ライターの方やチェッカーの方にも役に立てるかもしれません。
▼このマクロでできること
選択範囲を指定した記号まで広げたり狭めたりします。
カーソルよりも右方向(文末に向かった方向)にだけ動作します。
このマクロでは、「。、?!:;.,?!:;」を基準に範囲指定します。
▼マクロの解説
前回の「カーソルの移動
」マクロと同じような考え方になっています。
myCset の定数をPrivate キーワードで定義しています。
このように、特定のプロシージャー(Sub からEnd Subまでのプログラム文)の外に定数を宣言することができます。
Privateとすると、このモジュール内のすべてのプロシージャーからこの定数を参照することができます。
複数のプロシージャーで共通した定数であれば、このように一か所で定義するとわかりやすいですね。
変更するときにも、プロシージャーごとに変更する手間が省けるので便利です。
前回のカーソルの移動マクロと同じモジュールに入れる場合には、「Private Const myCset As String = "。、?!:;.,?!:;"」部分は省略してください(入力不要です)。
青文字部分が選択範囲を狭めるためのマクロです。
赤文字部分が選択範囲を広げるためのマクロです。
▼マクロ
Private Const myCset As String = "。、?!:;.,?!:;"
Sub 選択範囲_戻る()
Dim SS As Long
Dim SE As Long
Dim myRange As Range
SS = Selection.Start
SE = Selection.End
If SS = SE Then End
Set myRange = Selection.Range
myRange.MoveEndUntil cset:=myCset, Count:=wdBackward
If myRange.Start < SS Then
myRange.Start = SS
Else
myRange.End = myRange.End - 1
End If
myRange.Select
End Sub
Sub 選択範囲_進む()
Dim myRange As Range
Set myRange = Selection.Range
myRange.End = myRange.End + 1
myRange.MoveEndUntil cset:=myCset, Count:=wdForward
myRange.Select
End Sub
▼関連記事
カーソルの移動
一括置換用マクロ「ぱらぱら」