【ワイルドカード】改行前の余分なスペースを除去する

PDFファイルや他ファイルからコピー&ペーストすると、時々、改行の前に余分なスペースが入り込むことがあります。そういったスペースを削除するには、以下のようなワイルドカードを使用します。

「検索する文字列」には以下の記述をします。
日本語でも英語でも対応できるように、全角スペース、半角スペースを対象として、同時にソフトリターンの前にある余計なスペースも除去するようにしています。

[  ]{1,}([^11^13])

最初の角括弧の中には半角スペース1つと全角スペース1つが入っています。つまり、半角/全角スペースが改行(^13)/ソフトリターン(^11)の前に1つ以上({1,})あると、検索にヒットします。(半角全角の混在でも対応できる)

「置換後の文字列」は以下の通り記述します。(\は半角の円記号です)
改行/ソフトリターンに変更を加えず、そのまま利用するために、このような方法にしています。

\1

もし、ソフトリターンを改行(ハードリターン)に変換しちゃって良いと言うことであれば、以下のような記述になります。

検索する文字列

[  ]{1,}[^11^13]

置換後の文字列

^p

 

【ワイルドカード】強制的に1行間隔にする

【ワイルドカード】余分な改行を削除する」の応用編です。

節の間の改行数に関係なく、一律で1行間隔にします(空白行を1行入れる)。

「検索する文字列」は以下のように記述します。改行が1つ以上連続するものを固まりとして検索します。

^13{1,}

「置換後の文字列」には以下の記述をします。上記でヒットした改行の固まりを改行2つで置換します。

^p^p

これで、すべてが1行間隔に置き換わります。もし、2行間隔にしたい(空白行を2つ差し込む)時は、「置換後の文字列」を ^p^p^p と3つ並べれば良いことになります。

【ワイルドカード】余分な改行を削除する

原稿ファイルの処理において、時々、余分な改行を削除したいことがあります。そんなときは以下のワイルドカードを使用します。

まず、「検索する文字列」に以下の文字列を入れます。
改行(^13)が2つ以上連続({2,})するものを検索します。

^13{2,}

そして、「置換後の文字列」に以下の文字列を入れます。
上記でヒットした改行(の固まり)を、1つの改行(^p)へ置き換えてやります。

^p

もし、ソフトリターン(^11)も同時に削除対象にしたい場合は、「検索する文字列」を以下のように記述するといいです。

[^11^13]{2,}

ちなみに、PDFファイルからコピペしたり変換した場合、ソフトリターンや改行、時に半角スペースや全角スペースが混在していることがあります。その場合は、「【ワイルドカード】改行前の余分なスペースを除去する」を事前に実行してから、上記のワイルドカードを実行すれば良いです。

また、この記述方法を変化させれば、例えば、1行間隔に空白1行を差し込むと言うこともできます。
その方法は、「【ワイルドカード】強制的に1行間隔にする」に書いてありますので、参考にしてください。

【ワイルドカード】特定の見出し行の前に空白行が入っているかをチェックする

前回の「【ワイルドカード】特定の見出し行の後に空白行が入っているかをチェックする」の応用編です。今度は、見出し行の前に空白行が入っているかどうかをチェックします。このケースを検索するワイルドカードの記述例を以下に示します。

前回同様、英文で「TITLE OF THE INVENTION」の前に空白行が入っていないものを検索するには、「検索する文字列」で以下のように記述します。

[!^13]^13TITLE OF THE INVENTION

解説)
改行を検索する際は ^13 を使いますので、ここでは分かり易くするために、改行を ^13 で表します。

(正)
A quick brown fox jumps over the lazy dog.^13
^13
TITLE OF THE INVENTION

(誤)
A quick brown fox jumps over the lazy dog.^13
TITLE OF THE INVENTION

見出し行の前に改行(^13)が2つ連続しているのが正しいので、改行が1つしかないものを検索すれば良いことになります。

ここでは角括弧[ ]は必須です。^13!^13 では正しく検索されません。

言語が変わっても以下のように記述すれば検索できます。

[!^13]^13見出し

何かの文字列の前に空白行があることを確認したいときは、この記述を覚えておくと便利です。

【ワードマクロ】カーソルのある段落に蛍光ペンを付ける

私が仕事で使っているワードマクロをご紹介。
「マクロの記録」を使って作ったお行儀のよくないスクリプトですのでご容赦を。

このマクロは、カーソルのある段落を自動で範囲指定して蛍光ペンをつけるだけのマクロです。また、実行するたびに色が変わり、10色変化します。11回目に蛍光ペンなしに戻ります。(蛍光ペン色で字が潰れるのが嫌なので、10色に限定するようなことをやっています(笑))

Sub HighLight2Paragraph()
Dim ColorLoop As Integer
On Error Resume Next
Selection.MoveUp unit:=wdParagraph, Count:=1
Selection.MoveDown unit:=wdParagraph, Count:=1, Extend:=wdExtend
Selection.MoveLeft unit:=wdCharacter, Count:=1, Extend:=wdExtend

ColorLoop = Selection.Range.HighlightColorIndex - 1
If ColorLoop < 0 Then ColorLoop = 7
If ColorLoop = 2 Then ColorLoop = 14
If ColorLoop = 9 Then ColorLoop = 0
Selection.Range.HighlightColorIndex = ColorLoop
End Sub

私はショートカットキーへ登録して、翻訳チェックをしている時に目印付けの代わりに使っています。

嫌だ、行単位にしてくれ!という方は、以下のスクリプトを使ってくださいませ。

Sub HighLight2Line()
Dim ColorLoop As Integer
On Error Resume Next
Selection.HomeKey unit:=wdLine
Selection.EndKey unit:=wdLine, Extend:=wdExtend

ColorLoop = Selection.Range.HighlightColorIndex - 1
If ColorLoop < 0 Then ColorLoop = 7
If ColorLoop = 2 Then ColorLoop = 14
If ColorLoop = 9 Then ColorLoop = 0
Selection.Range.HighlightColorIndex = ColorLoop
End Sub