前回は、LibreOffice Writer で文字置換(1桁数字を全角、2桁以上数字を半角、コンマを半角)を行いましたが、もう少し簡略化する方法を模索してみました。
今回も提出形式を実現する方法のメモです。
ワード文書をテキストに変換(サイト利用)
Word文書をアプリ(LibreOffice Writer)で開く事は内容確認(文字修飾部分の確認)の為必要ですが、全選択しコピペでテキストエディタ(秀丸エディタ等)に流し込む作業を簡略化します。
以下のサイトで、Word文書ファイル(.docx)をテキストファイル(.txt)に変換します。もちろん無料です。
「ファイル選択」ボタンを押して、変換したい複数のWordファイルを選ぶと、テキストファイルに変換され、圧縮書庫ファイル(.zip)にまとまられてダウンロードされます。ファイル名は年月日時分秒+.zipとなるようです。
Zipファイルを解凍
Zipファイルは最近のWindowsなら標準ファイラ(エクスプローラー)で解凍できます。Zipファイルを選択して、右クリックし「すべて展開…」を選び実行します。
秀丸エディタで複数のテキストファイルを開く
展開されたテキストファイルを全て選択し、右クリックし「秀丸エディタ」を実行します。秀丸エディタのインストール時に標準でテキストファイル(.txt)に関連付けされているはず。
前述のサイトで変換されたファイルが全て表示されていることを確認します。
秀丸エディタでマクロを作成(初回のみ)
キー操作を記録する機能を使ってマクロを作成します。
キー操作の記録を開始します。「Shift」+「F1」キーを押します。
以下の1)~6)のキー操作を間違わずに実行して記録しないといけないので、集中!です。
全ての条件(数字は1桁全角半角、2桁以上全角半角、コンマは全角半角、段落先頭に全角スペース有りと無し、段落見出しに■を使用)がそろったテキストファイルを用意しておかないとうまく進まないかも知れません。
1)一旦、全ての数字とコンマを全角にします
「Ctrl」+「F」で検索画面を表示します。
「正規表現」をチェックします。
「検索文字列を強調」もチェックしておくと判りやすいかも。他のチェックは不要です。
検索窓に、[,,0-90-9] を入力します。
「すべて検索」ボタンの「すべて検索 – 複数選択」を実行します。
数字とコンマ(全角半角)が選択状態となります。
テキスト上で右クリックして「全角ひらがなに変換」(又は「全角カタカナに変換」)を実行します。
数字とコンマが全角文字に変換されます。
次の作業の為、「Ctrl」+「Home」キーを押し、カーソルをトップに飛ばし、文字の選択状態を解除しておきます。
2)2桁以上の数字を半角に変換します
再度、「Ctrl」+「F」で検索画面を表示します。
「正規表現」と「検索文字列を強調」はチェック状態が継続されているはず。
検索窓に、[0-9]{2,} を入力します。
「すべて検索」ボタンの「すべて検索 – 複数選択」を実行します。
2桁以上の全角数字が選択状態となります。
テキスト上で右クリックして「ハンカクに変換」を実行します。
2桁以上の数字が半角に変換されます。
次の作業の為、「Ctrl」+「Home」キーを押し、カーソルをトップに飛ばし、文字の選択状態を解除しておきます。
3)全角のコンマを半角に変換します
再度、「Ctrl」+「F」で検索画面を表示します。
検索窓に、[,] を入力します。
「すべて検索」ボタンの「すべて検索 – 複数選択」を実行します。
全角のコンマが選択状態になります。
テキスト上で右クリックして「ハンカクに変換」を実行します。
コンマが半角に変換されます。
次の作業の為、「Ctrl」+「Home」キーを押し、カーソルをトップに飛ばし、文字の選択状態を解除しておきます。
4)一旦、段落の先頭の全角スペースを削除します
「Ctrl」+「R」で置換画面を表示します。
「正規表現」と「検索文字列を強調」はチェック状態であること。
検索窓に、\n\n (バックスラッシュとnとバックスラッシュとnと全角スペース)を入力します。
置換窓に、\n\n(バックスラッシュとnとバックスラッシュとn)を入力します。
改行が2回続くと次は段落の開始と考えます。
この置換で一旦、段落先頭の全角スペースを削除してしまいます。
「全置換」ボタンを実行します。
5)段落の先頭に全角スペースを追加します
「Ctrl」+「R」で置換画面を表示します。
検索窓に、\n\n(バックスラッシュとnとバックスラッシュとn)を入力します。
置換窓に、\n\n (バックスラッシュとnとバックスラッシュとnと全角スペース)を入力します。
「全置換」ボタンを実行します。
段落の先頭に全角スペースが追加されます。
ただし、段落見出しの■の前にも全角スペースが挿入されるケースがあったので、次で対処します。
6)段落見出し■の前に挿入された全角スペースを削除します
「Ctrl」+「R」で置換画面を表示します。
検索窓に、\n\n ■(バックスラッシュとnとバックスラッシュとnと全角スペースと■)を入力します。
置換窓に、\n\n■(バックスラッシュとnとバックスラッシュとnと■)を入力します。
「全置換」ボタンを実行します。
見出し■の前の全角スペースが削除されます。
マクロを保存
キー操作の記録を、「Shift」+「F1」キーを押して停止します。
「マクロ」メニューの「キー操作の保存」を選択し、適当な名前で保存します。拡張子は.macです。
ここでは、1.macとしておきます。
「マクロ」メニューの「マクロの実行」で「1.mac」を選び、「編集」ボタンを押すと、記録したマクロの内容が確認できます。・・・なんとなく、やってきたことが見えますね・・・。
setcompatiblemode 0x10000F;
setsearch "[,,0-90-9]" , 0x6003810;
selectallfound;
filter "" , "ToZenkakuHira";
escape;
gofiletop;
setsearch "[0-9]{2,}" , 0x6003810;
selectallfound;
filter "" , "ToHankaku";
escape;
gofiletop;
setsearch "[,]" , 0x6003810;
selectallfound;
filter "" , "ToHankaku";
escape;
gofiletop;
begingroupundo;
replaceall "\\n\\n " , "\\n\\n" , regular, nocasesense, hilight;
if( ! result ) beep;
endgroupundo 1;
begingroupundo;
replaceall "\\n\\n" , "\\n\\n " , regular, nocasesense, hilight;
if( ! result ) beep;
endgroupundo 1;
begingroupundo;
replaceall "\\n\\n ■" , "\\n\\n■" , regular, nocasesense, hilight;
if( ! result ) beep;
endgroupundo 1;
ただ、このマクロを実行しても、適用されるのは、現在アクティブとなっているファイルに対してのみです。
・・・そこで、
マクロを複数ファイルに適用させるためのマクロを導入
以下のサイトから、batchmac0.mac を導入します。
サイトの batchmac106.lzh をダウンロードします。
Lzhファイルの解凍には対応アプリが必要かも知れません。個人的には7-Zipを使用中。
解凍したファイルとフォルダをマクロの置き場にコピーします。
マクロの置き場を確認したい場合は、は秀丸エディタ「マクロ」メニューの「マクロ登録」で「マクロ登録」画面を表示させると、画面下に「マクロファイル用のフォルダ:」が表示されています。
(エクスプローラで「AppData」フォルダが表示されない場合は、「表示」メニューの「表示」で「隠しファイル」にチェックを入れてください。)
その場所に、解凍した「batchmac0.mac」ファイルと、そのマクロが呼び出して使う「searchEx」フォルダ(マクロファイル3個を含む)をコピーしてください。
実際に、今回作成したマクロ「1.mac」を複数ファイルに対して実行するには、秀丸エディタの「マクロ」メニューから「マクロ実行」を選び、マクロ実行画面の一覧に表示に表示されている「batchmac0.mac」を選択し「OK」ボタンを押します。
実行するマクロを記入してください。とポップアップ画面が表示されるので、入力窓に「1.mac」を入力し「OK」ボタンを押します。
これで、文字変換マクロ「1.mac」が、秀丸エディタで現在開いている全てのテキストファイルに対して実行されます。
マクロ「batchmac0.mac」の呼び出しを簡略化するには、「マクロ」メニューの「マクロ登録」を選びタイトルにサブメニューとしての名前(ここでは「複数ファイルにマクロ実行」とする)、ファイル名は「batchmac0.mac」として「OK」ボタンで登録します。
これで、「マクロ」メニューのサブメニューとして「複数ファイルにマクロ実行」が選択できるように表示されます。「Ctrl」+「1」でも呼び出せるようです。
今後は、送って頂いた原稿をサイトでテキスト書庫化、解凍した複数ファイルを秀丸エディタで開き、「複数ファイルにマクロ実行」で「1.mac」指定で文字置換と段落先頭全角スペースは完了です。
・・・そういえば、前院長の原稿は段落先頭に全角スペースは無しだったなあ・・・
・・・前院長の原稿用マクロも用意しておきましょう・・・
・・・1.macをコピーし2.macとし、編集で、4)、5)、6)該当の記述を削除ですね・・・
setcompatiblemode 0x10000F;
setsearch "[,,0-90-9]" , 0x6003810;
selectallfound;
filter "" , "ToZenkakuHira";
escape;
gofiletop;
setsearch "[0-9]{2,}" , 0x6003810;
selectallfound;
filter "" , "ToHankaku";
escape;
gofiletop;
setsearch "[,]" , 0x6003810;
selectallfound;
filter "" , "ToHankaku";
escape;
gofiletop;
前院長の原稿ファイルが1個なら、「マクロの実行」で「2.mac」を実行します。
前院長の原稿ファイルが複数なら、「複数ファイルにマクロ実行」で「2.mac」を指定します。
マクロの実行で複数ファイルの文字変換が済んだら、更新されたファイルを保存する必要があります。
一つ一つ保存するのは面倒なので、ツールバー上で右クリックして「ツールバー詳細」から「全保存」ボタンをツールバーに追加しておきましょう。「全保存」ボタン1クリックだけで全ファイルを保存できるので便利です。
・・・シェルスクリプトはムズイので、今回は秀丸エディタでなんとかしてみました。
・・・多少の効率化はできたと思います。
・・・自己満足は続くよ、どこまでも・・・