2015年09月30日

セル内改行を「〓」に置換する

DTP作業者にとっての難易度 ★☆☆☆☆(1)

※2016.7.11にサンプルデータを追加しました(改行コードを検索して〓に置換するマクロを作成)。


InDesignのデータ結合機能を使用する際、Excelデータにセル内改行が残っていると不具合が生じます。
しかしMac版のExcelでは、通常の検索/置換機能を使ってセル内改行を他の文字(たとえば「〓」)に置換したり削除したりすることはできません。
そこで、これまで私は「LibreOffice」というソフトを使ってセル内改行を〓などに置換してきました。

※LibreOfficeを使う方法については当ブログの「定形フォーマットが並ぶレイアウトを作成する(データ結合)」でご紹介しています。


ただ、環境によってはMac版Excelだけで完結する必要もあるだろうと思い、今回はその方法を考えることにしました。

手順としては、
●データを入力したシートとは別に空白シートを用意する(同ブック内)。
●空白シートのA1セルに「=SUBSTITUTE(Sheet1!A1,CHAR(13),"〓")」と入力する。
●空白シートのA1セルをコピーし、空白シートの他セルにペーストする。
というものです。では動画をご覧ください。

※SUBSTITUTE関数は、あるセル内の特定の文字を別の文字に置き換える関数です。

※「Sheet1!A1」は「Sheet1!」というシートの「A1」セルを示しています(シート名が違う場合はこの部分を書き換えてください)。

※「CHAR(13)」はセル内改行のことです。

※「〓」は置換文字です。必要に応じて書き換えてください。



今回の方法については、以下のサイトを参考にしました。
http://web-memo.co/mac/excel/excel-mac-br-replace/

サンプルデータはこちら《minimum_2015_0930.zip》です。

【2015.9.30追記】
※どうやらCHAR(13)はCRで、CHAR(10)はLFのようです。念のため両方とも対応するよう「=SUBSTITUTE(SUBSTITUTE(Sheet1!A1,CHAR(13),"〓"),CHAR(10),"〓")」とし、データを更新しました。
2015.9.30更新サンプルデータはこちら《minimum_2015_0930b.zip》です。

【2016.7.11追記】
※改行コードを検索し、〓に置換するマクロを作成しました。このほうが簡単ですね。
2016.7.11追加サンプルデータはこちら《minimum20160711.zip》です。
posted by 照山裕爾 at 17:05| Comment(2) | TrackBack(0) | テキストデータ・Word | このブログの読者になる | 更新情報をチェックする

2013年09月13日

複数の置換を一気に実行する

DTP作業者にとっての難易度 ★★★☆☆(3)

編集者の方からテキストデータを頂戴した後、用語統一のために「又は」を「または」に置換、「及び」を「および」に置換、「○カ月」を「○ヶ月」に置換……など数多くの置換を実行するケースがあります。私が経験した仕事では100パターン以上の置換が必要になることもありました。

このような時にWordやInDesignの検索/置換を普通に使用していたのでは、いくら時間があっても足りません。今回は、この作業を省力化する方法について書きたいと思います。

※一括処理は作業効率が良い反面、不要な箇所まで置換してしまうおそれがあります。また、レイアウト体裁を整えた後に一括処理をおこなうとレイアウトが崩れる可能性もあります。作業の早い段階で実行しましょう。


Microsoft Word上で一括処理するツール


「WORD文書一括処理ツール」((有)ワールドワード)はVectorなどで入手できるシェアウェアです。私は何年か前に入手した旧バージョン(ver1.7)をMacOSX環境で使用しています。

※最新バージョンは「ver3」ですが残念ながらWindows環境だけで動作するようです。


このツールでは表の左側に検索文字列、右に置換文字列を入力してマクロを実行することで、複数の置換を一気に処理することができます。

※動画は私の使用しているバージョンです。現行バージョンは操作が更に簡単になっているようです。



注目すべきポイントは置換後の文字に蛍光ペンもしくは赤文字を適用できること。必要ない箇所まで置換されていないかどうか確認することができるのです。この後、蛍光ペンや赤文字が適用された文字をWord上で検索して任意の文字スタイルを適用すれば、InDesignにも文字スタイルとして反映させることができます。

※この作業については以前《選択した文字の書式を簡単に指定……文字スタイル》でご紹介しています。


InDesign上で複数の置換を一気に実行する


次に、テキストをInDesignに読み込んだ上で置換を実行すると方法をご紹介します。

「run_Queries 0.3」を使用する


市川せうぞーさんがお作りになった「run_Queries 0.3」(詳しくはこちら)を使っているDTP作業者は多いのではないでしょうか。これは複数のクエリ(検索/置換の設定)を連続実行するJavaScriptで、たいへん便利です。置換の件数が多くなると必要なクエリを用意するのが少し大変かもしれませんが動作はとても軽快です。


Excelと簡単なJavaScriptで複数の検索を実行する


置換項目数が多くなってくると内容の管理が面倒になります。そこでExcelで作った検索/置換リストを使ってInDesignで一括置換できないか考えてみました。つたないJavaScriptですが、よろしければご使用ください。

このJavaScriptは3つのファイルで構成されています(同じ階層に置く必要があります)。「chikan_0912b.jsx」は本体ファイル。「list_kihon.jsx」「list_option.jsx」は、いずれも検索/置換内容を書き込んだリストのファイルです。内容を変更したい場合はExcelファイルを書き換え、「以下をコピーしてJavaScriptにペースト」と表示されている列の内容をJavaScriptファイルに貼り付けてください。

InDesign上でこのJavaScriptを実行すると、置換された文字には「done」という文字スタイル(文字色は赤)が適用されます(用意したテンプレートを使用することが前提です)。ここからリッチテキストを書き出し、あらためてWordで開いてみると「done」が適用された状態が保たれています。編集者の方に「不要な置換が実行されていないか」などを確認していただくこともできるわけです。

今回ご紹介した方法以外にも便利なツールがあるかもしれません。たとえば「検索置換ラクダX」というMac用のフリーソフトも、自分で作成したリストに従って複数の置換を一括処理することができます。ただ、置換された箇所が後で判断できないため、私は今回のような目的では使用していません。何か良いツールをご存じの方がいらっしゃいましたら、ぜひお知らせください。
サンプルデータはこちら《0913minimum.zip》です(CS4以降)。

※MacOSX・InDesignCS4で動作を確認しましたが、他の環境(特にWindows)で正しく動くかどうか確認できておりません。あしからずご了承ください。

2016.11.25にアップした別ページ『JavaScriptで複数一括置換【改良版】』(ここをクリックすると別ウインドウで開きます)では、このJavaScriptの改良版をご紹介しています。Excelを使用しないため作業が簡単になりました。


(追記)

私が使っている「WORD文書一括処理ツール」の旧バージョン(v1.7)はMac版Word2004および2011では動作することを確認しています。しかしマクロに対応していないMac版Microsoft Word2008では動作しません。

(20130915追記)

テキストエディタ「Jedit X」に「複数一括置換」機能があることをご指摘いただき、試してみました。とても分かりやすく使いやすい機能です。検索/置換には正規表現を使うことができます。また、リストはテキストファイルとして保存・編集できます。

(20170317追記)

Jedit Xで複数一括置換をおこなった後、置換した部分に文字色をつける方法が分かりました。下のコメント欄をご覧ください(動画、サンプルファイルもあります)。

091501.png

(20170124追記)

InDesign上で複数置換を実行するJavaScriptの改良版を、2016年11月に『JavaScriptで複数一括置換【改良版】』(http://mottainaidtp.seesaa.net/article/444309094.html)でご紹介しています。併せてご覧ください。
posted by 照山裕爾 at 03:46| Comment(5) | TrackBack(0) | テキストデータ・Word | このブログの読者になる | 更新情報をチェックする

2013年06月04日

「スタイルが設定されたテキストデータ」をInDesignから書き出す

DTP作業者にとっての難易度 ★☆☆☆☆(1)

書籍制作などでは、事前にInDesignによるテスト組みをおこなって見出しや本文などの体裁を検討するケースがよくあります。DTP作業者は多くの場合、この時点でInDesignドキュメントに段落スタイルや文字スタイルを設定します。

※段落スタイルや文字スタイルの体裁は後で調整できるので、この時点では「必要だと思われるスタイルを一通り用意すること」を重視します。


実は、このInDesignドキュメントから「スタイルが設定されたテキストデータ」を書き出すことができるのです。以下、動画をご覧ください。

※少し分かりにくいかもしれませんが、テキストデータを書き出した後、Mac版のWordでテキストデータを開いて内容を確認しています。



ご覧の通り、書き出されるのはリッチテキスト形式(拡張子『.rtf』)のテキストデータです。
これをWordで開くと、かなりInDesignドキュメントと似た体裁になっています。そしてInDesignで設定した段落スタイルや文字スタイルが、きちんとテキストデータの各文字列に適用されていることが分かります。

あとはWordで箇条書きの体裁を整えたり、インデント幅を調整したり、フォントを編集者が使用できるものに変更したりするだけで、本番テキストデータ作成用のWord文書を完成させられるのです(下図は体裁を調整した後のWord文書の画面表示です/フォントはMS明朝とMSゴシック)。

0603-01.png

※完成したテキストデータはWord文書(拡張子『.docx』や『.doc』)として保存しておくと良いでしょう。



なお、完成したWord文書の段落スタイルや文字スタイルを他のWord文書に読み込む方法については《Word文書間でスタイルの体裁を統一する》を参照ください。
サンプルデータはこちら《minimum0604.zip》です(InDesignドキュメントはCS4以降で使用可能・テキストデータ[rtfとdocx]はWordでご確認ください)。
posted by 照山裕爾 at 11:46| Comment(0) | TrackBack(0) | テキストデータ・Word | このブログの読者になる | 更新情報をチェックする