【Word】いろいろ編集したWord文書をプレーンテキストにする【秀丸】

就業規則を作って納品するときや、就業規則の変更前変更後の違いを作成するときに私がやっている手法を紹介します。

以前記事に書いたように、私は条文参照誤りの問題を解消するために、Wordのアウトラインレベルと箇条書きと段落番号の設定をバリバリに使っています。

Wordのアウトラインレベルと箇条書きと段落番号の設定をバリバリに使ったWordドキュメントの例

しかし、このままですと不都合があります。

納品先にWordに詳しい方がいるとは限りません。番号の一部を直したいとき、箇条書きと段落番号の設定をいじらないといけないなんてことは、普通は分かりません。

また、変更履歴を作るとき、修正前と修正後を比較したくなります。その際私はWinMergeといったツールを利用しています。こういうツールでは、Wordドキュメントごと比較することも可能ですが、段落や文字フォントの編集履歴まで差分として出てきてしまいます。必要なのは、中身の差分だけであって、編集内容までは不要です。

WinMerge

そういうとき、Wordのアウトラインレベルと箇条書きと段落番号の設定はあえて外し、プレーンなテキストに戻した上で使っています。

今回はそのプレーンなテキストに戻す方法を紹介します。

全部選択⇒コピー

Wordドキュメント上で、Ctrl+Aを押します。

Ctrl+Aしたところ

続いて、Ctrl+Cでコピーします。

適当なテキストエディタを開き、Ctrl+Vで貼り付けます。

秀丸エディタに貼り付けたところ

こうすると、左インデントが全部消えてしますが、インデントを使わずスペースで見た目を調整する方が分かりやすいというお客様もいらっしゃいますので、こういうシンプルな状態にしています。

重要なのは、第○章や第○条といった数字がちゃんとテキストとして取得できていることです。

これをもとに、納品物の作成や、BeforeAfterの比較を行っています。

秀丸上での編集は正規表現で置換

なお、図を見るとタブ記号が残っていて、プレーンテキストとしてはノイジーなので、全角スペースに置換しようと思います。

タブ

秀丸でやる場合は、Ctrl+Rで置換ボックスを開き、検索に\t(タブの意味)、置換に「 」(全角スペース)を入れ、正規表現にチェックを入れます。

秀丸の置換ボックス

全置換を押します。

置換後の状態はこんな感じ↓です。

タブを全角スペースに置換した状態

レベル4

ついでに、行頭が漢数字で始まり、全角スペースと続く部分(Wordでアウトラインレベル4としていた部分)の先頭部分に全角スペースを1つだけ入れるには、次のようにします。

検索 ^(?=[一二三四五六七八九])

置換  (全角スペース)

^(私はこれをヘキサと呼んでいます。本当はなんて読むのでしょう?)というのは、段落の先頭の意味です。

(?=)というのは先読み検索の意味です。先読み検索というのが何かというのは、「正規表現 先読み 後読み」で検索すると分かります(他力本願)。

ざっくりいうと、先頭にある漢数字一から九までの文字のいずれかがある場所の、その漢数字を含まない先頭部分だけを検索という意味です。

目次

目次のように、…..を入れたいときは、次のようにします。

置換前の目次

検索 全角スペース(?=[0-9]+\n)

置換 ………(ピリオドをいっぱい)

これを全置換すると次の図のようになります。

置換後の目次

意味は、行末(\n)直前に0から9までの数字が1個以上ある、全角スペースから続く部分です。\nというのが改行コードの意味でして、改行コード=行末という意味になります。

(?=)で検索はするけど置換後の文字列には含まないという意味になっています。