ダブルスペースの誤記をシングルスペースにするマクロ
英文作成時に役立つマクロの紹介です。「doublespace.dot」をダウンロード
●用途
このマクロが対象としているのは、英文中に間違って記載してしまった連続するスペース二つをスペース一つに書き換えるマクロです。
文章と文章の間のスペース(ピリオドの後のスペース)は対象外です。
昨日、英文中に誤って書かれている二つのスペースを一つのスペースに書き換える作業がありました。
ひとつひとつ探すのは非常に面倒ですよね。とくに書類のページ数が多い場合には目が疲れます。
職場では以下のワイルドカードを使って一つ一つ確認しながら作業をしました。
検索する文字列:([a-zA-A]{1,})__([a-zA-A]{1,})
置換後の文字列:\1_\2
注意!! 上の文字列中の”_”は半角のスペースを示します。
上記置換式は、1文字以上の大文字小文字のアルファベットで挟まれた半角スペース二つを半角スペース1つに置換するものです。
よって、ピリオド、記号、コンマの前後のスペースは置換対象外となっています。
今回紹介するマクロでは、上記の置換方法に基づいた「一括置換」と「個別置換」の二つの方法をとりあげます。
わざわざマクロにする必要もない感じもしますねぇ。。。
●使い方
①テンプレートをインストールします。こちらを参照。
②3つのボタンがツールバーに表示されます。
一番左にある[DS一括]が、「ダブルスペースを一括置換するマクロ」に対応します。
真ん中の区切り線から右側の二つのボタンが「ダブルスペースを個別に置換するマクロ」に対応します。
「ダブルスペースを個別に置換するマクロ」は、二つのステップから成り立ちます。
真ん中にあるのが「ダブルスペースを選択するステップ」で、右端のボタンが「選択されているダブルスペースをシングルスペースに変更し、次のダブルスペースを選択するステップ」に対応します。
③対象となる文書を開き、ボタンをクリックします。
④置換されます。
●工夫
①「ダブルスペースを一括置換するマクロ」では、置換したダブルスペースの前後の単語を赤で着色しました。
よって、一括置換した場合でも、どのスペースを削除したのかわかります。
②「ダブルスペースを個別に置換するマクロ」では、誤作動がないように以下のような条件を加えました。
ダブルスペースが選択されている場合には、「選択されているダブルスペースをシングルスペースに変更し、次のダブルスペースを選択」します。(以下の「シングルスペースに置換」の10行目)
このプログラムの考え方は、以前紹介した「参照符号の削除」と同じです。
●プログラム
「ダブルスペースを個別に置換するマクロ」
Sub ダブルスペースを選択()
Dim myRange As Range
Dim SE As Long
10 SE = Selection.End
20 Set myRange = ActiveDocument.Range(SE, SE)
30 With myRange.Find
40 .Text = "([a-zA-A]{1,1}) ([a-zA-A]{1,1})"
50 .Wrap = wdFindContinue
60 .MatchWildcards = True
70 .Replacement.Font.Color = wdColorRed
80 .Execute
90 End With
100 If myRange.Find.Found = True Then
110 myRange.Start = myRange.Start + 1
120 myRange.End = myRange.End - 1
130 myRange.Select
140 Else
150 MsgBox "ダブルスペースが見つかりません。"
160 End If
170 Set myRange = Nothing
End Sub
Sub シングルスペースに置換()
10 If Selection = " " Then
20 Selection = " "
30 Call ダブルスペースを選択
40 Else
50 MsgBox "選択範囲が不適切です。"
60 End If
End Sub
| 固定リンク

コメント