« 「たった3行」エクセルマクロ事典 | トップページ | 一年前の日付を表示:米国特許法第102条(b)に関連して »

2009年6月20日 (土)

ダブルスペースの誤記をシングルスペースにするマクロ

英文作成時に役立つマクロの紹介です。「doublespace.dot」をダウンロード

●用途
このマクロが対象としているのは、英文中に間違って記載してしまった連続するスペース二つをスペース一つに書き換えるマクロです。

文章と文章の間のスペース(ピリオドの後のスペース)は対象外です。

昨日、英文中に誤って書かれている二つのスペースを一つのスペースに書き換える作業がありました。

ひとつひとつ探すのは非常に面倒ですよね。とくに書類のページ数が多い場合には目が疲れます。

職場では以下のワイルドカードを使って一つ一つ確認しながら作業をしました。

検索する文字列:([a-zA-A]{1,})__([a-zA-A]{1,})
置換後の文字列:\1_\2

注意!! 上の文字列中の”_”は半角のスペースを示します。

上記置換式は、1文字以上の大文字小文字のアルファベットで挟まれた半角スペース二つを半角スペース1つに置換するものです。

よって、ピリオド、記号、コンマの前後のスペースは置換対象外となっています。

今回紹介するマクロでは、上記の置換方法に基づいた「一括置換」と「個別置換」の二つの方法をとりあげます。

わざわざマクロにする必要もない感じもしますねぇ。。。

●使い方
①テンプレートをインストールします。こちらを参照。

②3つのボタンがツールバーに表示されます。

Doublespace_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

|

« 「たった3行」エクセルマクロ事典 | トップページ | 一年前の日付を表示:米国特許法第102条(b)に関連して »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/519619/45395261

この記事へのトラックバック一覧です: ダブルスペースの誤記をシングルスペースにするマクロ:

« 「たった3行」エクセルマクロ事典 | トップページ | 一年前の日付を表示:米国特許法第102条(b)に関連して »